web自动化(1)——测试环境搭建

1.什么是selenium

selenium是一个综合性项目,包含一系列的工具和库。特点:

  • 开源
  • 兼容性
  • 支持多种编程语言
  • 执行并行测试

selenium包含三大组件:

  • IDE :录制用例
  • webDriver:执行用例
  • Grid:分布式执行

2.搭建selenium自动化测试环境

python->selenium->浏览器驱动->浏览器

2.1 安装selenium

执行pip install selenium

2.2 浏览器驱动

以chrome为例:

(1)查看浏览器版本

(2)下载浏览器驱动

淘宝镜像:https://registry.npmmirror.com/binary.html?path=chromedriver/

官方镜像:https://sites.google.com/a/chromium.org/chromedriver/downloads

根据自己的浏览器版本以及电脑系统下载对应的驱动

(3)解压chromedriver.exe

(4)将解压后的浏览器驱动放在path目录:cmd->get Path就可以看到所有path目录,随便选择一个将解压后的驱动文件移动进去即可。在cmd中输入驱动名字chromedriver,验证效果

2.3 验证环境

在pycharm中新建一个项目,在main.py中输入如下代码:

from selenium import webdriver
driver=webdriver.Chrome() # 启动浏览器
driver.get('http://baidu.com')
driver.quit() # 关闭浏览器

执行代码正常打开浏览器,访问百度首页

3.自动化搭建selenium环境

3.1 添加私有仓库

在pycharm的项目终端执行下面代码:

pip config set global.extra-index-url https://beifan:[email protected]/simple

3.2 安装私有工具

pip install webdriver-helper

3.3 验证

from webdriver_helper.driver import get_webdriver
driver=get_webdriver("chrome")
driver.get('http://www.baidu.com')

区别:

webdriver.chrome() 从path中寻找浏览器驱动,找不到就报错

get_webdriver("chrome")从.wdm目录中寻找浏览器驱动,找不到就自动下载。

4.selenium原理

4.1 启动浏览器

  • 实例化webdriver
  • 实例化service
  • 启动其他的进程chromedriver:浏览器启动
  • 调用http接口
  • 返回webdriver实例

4.2 控制浏览器

  • 调用webdriver实例方法:get,quit等
  • 调用统一的方法:execute
  • 调用http接口
  • 返回接口的结果

4.3 控制页面

  • 调用webdriver实例方法:find_element
  • 返回webelement实例
  • 调用webelement实例方法:send_keys
  • 调用http接口

结论:浏览器被浏览器驱动控制,浏览器驱动被接口参数控制,接口参数被webdriver和webelement实例控制

你可能感兴趣的:(自动化,python,pytest,selenium)