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

相关推荐
运维行者_41 分钟前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
考虑考虑5 小时前
nginx路由重写
运维·后端·自动化运维
dk_tjy5 小时前
AI驱动的自动化攻击背景下:企业端点安全体系的技术架构与建设路径
网络·人工智能·安全·自动化·终端安全管理·数据防泄漏
Zenova EdgeOS7 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军7 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen8 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客9 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌9 小时前
进程控制管理
linux·运维·服务器
郝学胜-神的一滴9 小时前
AI 编程智能体 09:零门槛调用教程
人工智能·数据分析·自动化·numpy·pandas·量化投资
fengkai454510 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod