川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

Selenium+Python—实现基本自动化测试

作者:川石学院 日期:2021-02-23 17:10:39 点击数:

   什么是selenium

Selenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命令来模拟用户操作,可以将这些命令转化成实际的请求在浏览器中运行的命名比较有意思,当时是主流的商业自化工具,是化学元素汞(俗称水银),而是开源自动化工具,是化学元素硒,硒可以对抗汞。

   selenium家族族谱

从2004年至今,selenium经历了3个版本,即Selenium1.0,Selenium2.0,Selenium3.0  

2.1Selenium1.0 

Selenium+Python—实现基本自动化测试(图1)

 

简单的公式:

Selenium1.0=SeleniumIDE+SeleniumGrid+SeleniumRC  

SeleniumIDE:是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。  

SeleniumGrid:selenium分布式  

SeleniumRC:Selenium1.0的核心,SeleniumRC支持多种不同语言编写的自动化测试脚本,在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese命令(selenese是selenium命令集合)。通过SeleniumRC的服务器作为代理服务器去访问应用,从而达到测试的目的。  

2.2Selenium2.0  

Selenium2.0=Selenium1.0+WebDriver

Selenium2.0的核心为WebDriver,Drver的工作原理是:

Selenium+Python—实现基本自动化测试(图2)

WebDriver是通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver针对各个浏览器而开发,除了Firefox浏览器之外,使用其他浏览器都需要浏览器驱动,与浏览器紧密集成,因此支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持之外,WebDriver还利用操作系统级的调用,模拟用户输入。  

我们在使用WebDriver时,可以看到,是先启动了浏览器driver,通过浏览器driver启动浏览器 

Selenium+Python—实现基本自动化测试(图3)

 

2.3Selenium3.0  

selenium3.0在2.0的基础上增加了对win10系统的Edge浏览器和Mac系统Safari浏览器的支持,并且在启动Firefox浏览器时也必须使用浏览器驱动geckodriver.去掉了SeleniumRC,因此selenium3.0的学习核心也是WebDriver.  

3.Selenium学习路线---从元素定位开始  

需要熟悉webdriverAPI,API就是selenium所定义一方法,用于定位,操作页面上的各种元素。 

Selenium下载安装以(Python)为例

下载安装

Selenium+Python—实现基本自动化测试(图4)

 

安装

Selenium+Python—实现基本自动化测试(图5)

 

验证

C:\Users\mac>python  

Python3.7.0(v3.7.0:1bf9cc5093,Jun272018,04:59:51)[MSCv.191464bit(AMD  

4)]onwin32  

Type"help","copyright","credits"or"license"formoreinformation. >>> 

2.安装selenium  

pipinstallselenium  

3.验证是否安装成功:  

pipshowselenium  

能够看到selenium的详细信息则安装成功  

Name:selenium  

Version:3.13.0  

Summary:PythonbindingsforSelenium  

Home-page:https://github.com/SeleniumHQ/selenium/  

Author:UNKNOWN  

Author-email:UNKNOWN  

License:Apache2.0  

Location:/usr/local/lib/python2.7/site-packages  

Requires:  

Required-by:  

Selenium元素定位

什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片。都可以理解成元素,这些都是由html代码构成。

Selenium常用的八种元素定位方法  

1.通过id定位:

find_element_by_id()  

2.通过name定位:

find_element_by_name()  

3.通过tag定位:

find_element_by_tag_name()  

4.通过class定位:

find_element_by_class_name()  

5.通过css定位:

find_element_by_css_selector()  

6.通过link定位:

find_element_by_link_text()  

7.通过partial_link定位:

find_element_by_partial_link_text()  

8.通过xpath定位:

find_element_by_xpath()  

如何查找8大定位因素

下面以Firefox浏览器里面定位百度搜索为例

1.id 、name、class、link_text 定位

首先打开网页开发者模式,接着点击元素定位按钮,然后将光标置于你要定位的元素,点击一下,就可以在查看器查看你想要定位的元素的id、name、class、link_text。 

eg:

driver.find_element_by_id(“kw”)

driver.find_element_by_name(“wd”)

driver.find_element_by_class_name(“s_ipt”)

driver.find_element_by_link_text(“百度一下”)

 

2.xpath、css_selector定位  

首先打开网页开发者模式,接着点击元素定位按钮,然后将光标置于你要定位的元素,点击一下然后右键复制,就能选择xpath、css  

3.tag_name定位  

如图,画圈的就是tagname。  

由于tagname有很多重复的,tagname来定位页面元素不准确,所以很少使用tagname来定位。 

Python+Selenium自动化测试入门到精通课程,名师在线辅导!

 


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-02-23 17:10:39
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-02-23 17:10:39
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-02-23 17:10:39
  • 建筑工程专业朱同学成功转行为软件测试人!2021-02-23 17:10:39
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-02-23 17:10:39
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-02-23 17:10:39
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-02-23 17:10:39
  • 文科生转行软件测试照样拿下高薪15K!2021-02-23 17:10:39
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-02-23 17:10:39
  • 毕业1年,迷茫的他最终选择转行软件测试2021-02-23 17:10:39