webUI自动化环境准备

webUI自动化环境准备

Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像用户在操作一样;我们通常所说的Selenium是对Seleninum的总称。

selenium核心组件

  • selenium webdriver client (目前主要使用,依赖于drivers)
  • selenium drivers(浏览器驱动,被webdriver client所依赖)
  • selenium IDE(入门录制工具)
  • selenium grid (可操作浏览器集群,也可操作app)

Selenium WebDriver

selenium webdriver 其实就是不同语言基于实现了W3C WebDriver协议从而达到能控制浏览器的代码库,它提供了简单的API接口使测试人员可以很方便的控制浏览器的各种行为;目前所支持的浏览器包括:Firefox、Chrome、IE、Edge、Opera、Safari。

运行机理:webdriver通过driver(浏览器驱动)将执行命令发送给浏览器;同样的浏览器在执行玩命令之后通过相同的通道将信息返回给webdriver。

整体就是一个C/S架构,我们的webdriver是作为客户端存在。

1、命令:pip install selenium -i <http://pypi.douban.com/simple> --trusted-host pypi.douban.com;

2、下载对应chrome浏览器驱动:http://chromedriver.storage.googleapis.com/index.html

查看本地安装的chrome版本

下载相同版本的驱动

下载完成后解压压缩包,把chromedriver.exe驱动文件复制到,Python根目录下

二、通过python+selenium实现打开一个商城

复制代码
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get(url='<https://mall.jctesting.cn/pc/>')
time.sleep(3)
driver.quit()

options

复制代码
from selenium import webdriver
from time import sleep

'''
# 创建Chromeoptions对象
options=webdriver.ChromeOptions()
# 窗体最大化,速度比 driver.maximize_window() 快
options.add_argument('start-maximized')         #添加参数

# 无头模式:启动浏览器进程,但不会显示出来
# options.add_argument('--headless')

# 去掉警告
# options.add_argument('disable-infobars')    #这是老版本的Chrome浏览器采用的去掉警告行驶
# 新版本的去掉警告(70以上版本)
options.add_experimental_option('useAutomationExtension',False)       #去掉开发者警告
options.add_experimental_option('excludeSwitches', ['enable-automation'])      #去掉黄条

# 创建Chrome对象
driver=webdriver.Chrome(options=options)
driver.implicitly_wait(10)
# driver.maximize_window()

sleep(5)

driver.get('<https://www.baidu.com/>')
driver.find_element_by_id('kw').send_keys('虚竹')
driver.find_element_by_id('su').click()
sleep(3)
# print(driver.title)
driver.quit()

三、一些依赖包的安装

pip install pyscreenshot # 用于屏幕截图

安装pykeyboard模块

pip install Pillow-PIL

pip install pywin32

pip install pyUserinput

pip install pykeyboard

相关推荐
咯哦哦哦哦4 小时前
配置VNC sever 6.11.0版本 linux(激活码)
linux·运维·服务器
guo_wen_qiang4 小时前
jenkins流水线参数化配置
运维·docker·容器·jenkins·持续部署
꯭自꯭闭꯭4 小时前
DM主备集群以及读写分离集群搭建
linux·运维·数据库
IT大白鼠4 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 5 篇 · 多模态与虚拟化AI 能「看」图:多模态与虚拟化管理
linux·运维·人工智能
微信开发api4 小时前
基于WTAPI构建社群运营平台:自动拉群与会话承接链路设计
java·大数据·网络·数据库·微信·自动化
阿狗童鞋5 小时前
Nginx反向代理与负载均衡实战指南
运维·nginx·负载均衡
IT大白鼠5 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 2 篇 · 安全守规矩的 AI:分级安全管控是灵魂
linux·运维·人工智能
闭包不眠5 小时前
端侧AI能省多少服务器钱:把账换成字节算
运维·服务器·图像处理·人工智能·计算机视觉
风华同学5 小时前
免密SSH登录Ubuntu
linux·运维·ubuntu
꯭自꯭闭꯭5 小时前
达梦守护集群手工切换及故障切换
linux·运维·服务器·数据库