Selenium2+Python2.7 web自动化测试框架(内网)

工具:

python-2.7.13

Selenium 2.53.6

Firefox 47.0.1

chrome 72.0.3626.121

chromedriver 2.46

一、Selenium介绍

Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0,本文仅介绍Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2又名Selenium Webdriver。

Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。

Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手)。也就是说 Selenium 2 是 Selenium 和 WebDriver 两个项目的合并,即 Selenium 2 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。

中文文档:http://selenium-python-zh.readthedocs.io/en/latest/index.html

英文文档:http://selenium-python.readthedocs.io/index.html

(1)Selenium2简介

Selenium是一个用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试,Selenium2将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样。

Webdriver的一个简单的架构图,如下图所示:

Webdriver架构图

(2)Selenium2原理

webdriver是按照server–client的经典设计模式设计的:

server端就是remote server,可以是任意的浏览器:我们的脚本启动浏览器后,该浏览器就是remote server,它的职责就是等待client发送请求并做出相应;

client端简单说来就是我们的测试代码:测试代码中的一些行为,比如打开浏览器,转跳到特定的url等操作是以http请求的方式发送给被server端(也就是被测浏览器)server接受请求,并执行相应操作,并在response中返回执行状态、返回值等信息;

简单介绍一下webdriver的工作原理:

启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器则作为webdriver的remote server。

客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire Protocol,在HTTP request的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我们希望浏览器接下来做什么事情)。

Sever端需要依赖原生的浏览器组件,转化Web Service的命令为浏览器native的调用来完成操作。

注:

the WebDriver Wire Protocol是Selenium自己设计定义的协议,这套协议非常之强大,几乎可以操作浏览器做任何事情,包括打开、关闭、最大化、最小化、元素定位、元素点击、上传文件等。

WebDriver Wire协议是通用的,也就是说不管FirefoxDriver还是ChromeDriver,启动之后都会在某一个端口启动基于这套协议的Web Service。

(3)Selenium2的安装

方法1.直接用命令加载selenium

pip install -U selenium

备注:如果下载selenium出错,可借鉴https://www.jianshu.com/p/2d48cca6e620

方法2.下载selenium离线包

点击下载selenium 2.53.6

下载.gz格式后,解压

在安装目录下找到setup.py,打开CMD,输入python setup.py install

然后,使用 pip show selenium  检查是否安装成功

注:若pip show selenium提示pip出错;可以把E:\python37\Scripts路径放到环境变量path中

检验是否安装成功

二、安装python、pycharm

下载Python2.7.13 (Window平台安装包,包格式为:python-XYZ.msi文件)

1、安装python-2.7

2、配置环境变量path中添加D:\Python27

3、cmd命令校验python安装成功

pycharm安装教程

三、浏览器和对应驱动下载

(1)使用chrome浏览器

1、下载chrome浏览器

2、下载chromedriver驱动  : 下载chromedriver

3、解压后,将chromedriver.exe复制到C:\Program Files (x86)\Google\Chrome\Application路径下,并加该路径配置到环境变量。(或者直接把Chromedriver.exe放到python.exe同目录下)

备注Chrome版本与chromedriver版本对照及下载

(2)使用Firefox浏览器

1、下载Firefox

2、下载Firefox驱动:下载geckodriver

3、解压后,将geckodriver.exe直接放到python.exe同目录下即可

备注:firefox56以下不需要安装webdriver驱动,firefox57(firefox57及以上版本)需要安装geckodriver-v0.19.1-win32/64。

注意:

python2兼容的Firefox版本:47及以下

python3兼容的Firefox版本:48及以上

参考资料:

https://www.cnblogs.com/leeboke/p/5014058.html

https://www.cnblogs.com/itstu/p/6877794.html

https://www.cnblogs.com/jxba/p/9022780.html

https://blog.csdn.net/hello_global/article/details/65446446

https://www.cnblogs.com/hellosecretgarden/p/9206648.html

https://blog.csdn.net/casilin/article/details/6077964

https://www.ibm.com/developerworks/cn/web/1209_caimin_seleniumweb/index.html

https://blog.csdn.net/github_37216944/article/details/79053781

https://www.cnblogs.com/LOVEYU/p/8392269.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容