0


Python自动化测试小程序编程:Selenium库使用


前言

最近想要实现和Python脚本联动的小程序,想了一些要实现测试的话还是得用Selenium去自动化实现邮箱报表或者是实现截图html的图片,都是实现起来比较好的思路。这篇为开篇介绍,后续会编写自动化小程序。


一、Selenium(WEB自动化工具)

1.简介

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),火狐, 谷歌浏览器,360浏览器等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、JAVA,PHP等不同语言的测试脚本。

2.功能

  • 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
  • 使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
  • 使用简单,可使用Java,Python等多种语言编写用例脚本。

3.优势

据Selenium主页所说,与其他测试工具相比,使用Selenium的最大好处是:

Selenium测试直接在浏览器中运行,就像真实用户所做的一样。Selenium测试可以在Windows、Linux和Mac上的Internet Explorer、Chrome和Firefox中运行。其他测试工具都不能覆盖如此多的平台。使用Selenium和在浏览器中运行测试还有很多其他好处。

Selenium完全开源,对商业用户也没有任何限制,支持分布式,拥有成熟的社区与学习文档。

4.版本

4.1.selenium1.0

组件

selenium IDE

1、firefox插件(只支持Firefox)

2、用处

实现简单的自动化

用来提交bug(对于描述比较复杂的bug进行录制成脚本提供给开发回放)

selenium Grid

用来做分布式自动化,详见文档

独立的.jar包

selenium RC(Reomte Control)--核心

用处:

1、远程控制

2、不同语言,不同浏览器去使用

RC :不是一个独立的工具,是被集成在selenium server里面,后面Grid也被集成在里面

不同语言启动selenium的方法--RC原理

java(selenium -java.jar) ---> selenium server(.jar包) ---> Firefox

python(selenium -python.py)-->selenium server --> chrome浏览器

4.2.selenium 2.0

历史

Google WebDriver --> 针对chrome浏览器的自动化

2009年,webdriver(稳定性好)与selenium1.0(支持多语言,多浏览器)合并 = selenium 2.0

selenium 1.0 + webdriver = selenium 2.0

RC与webdriver,在2.0放弃RC,因为要向下兼容,所以保留RC

主推的逻辑

由RC转换成webdriver

java(selenium -java.jar) --->集成在.jar包里面的驱动文件 ---> Firefox

python(selenium -python.py)-->chromedriver.exe(遵循webdriver的驱动文件) --> chrome浏览器

python(selenium -python.py)-->IEDriverServer.exe(遵循webdriver的驱动文件) --> IE浏览器

python(selenium -python.py)-->selenium server (遵循webdriver的驱动文件) --> safari浏览器

Web Driver W3C:webdriver的官方文档 WebDriver

由此可见,2.0虽然提高了稳定性,但是其他功能依旧杂乱。

4.3.selenium 3.0

浏览器驱动规范化:

各自的浏览器维护各自的浏览器

2016年 selenium beta版

java(selenium -java.jar) --->geckodriver.exe ---> Firefox浏览器(比较不稳定)

python(selenium -python.py)-->chromedriver.exe(遵循webdriver的驱动文件) --> chrome浏览器

python(selenium -python.py)-->IEDriverServer.exe(遵循webdriver的驱动文件) --> IE浏览器

python(selenium -python.py)-->驱动直接集成到Mac系统(OS X)(/user/bin/safaridriver)里面 --> safari浏览器

selenium 3.0 = selenium 2.0 - RC

二、使用步骤

1.安装Selenium

Python提供了第三方Selenium包,因此可以直接使用pip安装

pip install selenium

若是下载很慢的话使用镜像:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium==3.141.0

或者在anaconda上的Environments上指定虚拟环境下搜索下载selenium库:

apply下载就行。

2.下载浏览器驱动

1.谷歌浏览器驱动

我们之所能操作浏览器,是因为我们有该浏览器对应的驱动。若是缺少驱动我们并不能对浏览器进行操作:

首先我们需要知道浏览器的版本,输入:

chrome://version/

知道浏览器驱动之后便去官网找到相应的驱动下载:Chrome驱动下载

这里下61就好了,之后选择对应操作系统的版本下载:

把下载好的驱动放到Google Chrome的Application目录之下:

C:\Program Files (x86)\Google\Chrome\Application

之后在系统环境变量Path下加入路径的名称:

2.火狐浏览器驱动

在selenium3.x开始,其在连接火狐浏览器时就需要下载对应的驱动了。

驱动下载地址:Fire Fox驱动下载

和谷歌驱动一样的步骤,这里不再重复。

3.测试

我们可以先初步使用代码来操作浏览器,看看安装的库是否管用:

  • **webdriver.Chrome()**:连接谷歌浏览器
  • **webdriver.Firefox()**:连接火狐浏览器
from selenium import webdriver
#打开谷歌浏览器
driver = webdriver.Chrome()
#打开火狐浏览器
driver1 = webdriver.Firefox()

Selenium包提供了打开某一个网页的接口方法:get(url)

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")

参数url:表示我们想要打开的某一个网页地址,该get()方法无返回值 。

这篇博客写到此,下一篇将写如何使用selenuim去定位浏览器元素实现自动化程序。

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见


参阅:

Selenium版本介绍

Selenium:简介


本文转载自: https://blog.csdn.net/master_hunter/article/details/125247022
版权归原作者 fanstuck 所有, 如有侵权,请联系我们删除。

“Python自动化测试小程序编程:Selenium库使用”的评论:

还没有评论