内容正文:
《Python应用程序设计》
8.4 自动化测试
1
Selenium简介
1
网页元素定位方法
2
目录
编写自动化测试脚本
3
2
Selenium简介
1
Selenium 是一个用于Web应用程序的自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。它包含了测试的录制(Selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。
Selenium简介
1
使用Python语言开展自动化测试需要搭建相关环境,其主要步骤为:
1. 下载并安装Python,并且安装包管理工具pip。
2. 下载并安装Python的Selenium包。可以在命令行下输入以下命令:
:/>pip install selenium
执行完毕命令后,进入Python IDE环境验证Selenium包是否安装成功,如果没有报错,表示安装成功。具体命令为:
>>> from selenium import webdriver
Selenium简介
1
3. 下载浏览器的驱动,尤其要注意和浏览器、Selenium版本的匹配,否则浏览器无法正常启动。
下载后将驱动放在python安装目录的根目录下。
编写程序代码验证环境是否搭建成功,如果可以自动启动浏览器,就表示环境搭建成功。这里以启动谷歌浏览器为例,代码如下:
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.baidu.com")
>>>
网页元素定位方法
2
Selenium可以模仿人类对网页进行自动化的操作,那么要对网页元素进行操作,首先就要完成对网页元素的定位。可以用于定位的常用的元素属性有:id、name、class name、tag name、link text、partial link text、xpath和css selector。
网页元素定位方法
2
1.通过id进行定位
语法:
driver.find_element_by_id(self,id)
或者
driver.find_element(self,by,value)
网页元素定位方法
2
2.通过name进行定位
语法:
driver.find_element_by_name(self,id)
3.通过class 进行定位
语法:
driver.find_element_by_class_name(self,id)
网页元素定位方法
2
4.通过tag定位
语法:
driver.find_element_by_tag_name(self,id)
5.通过css定位
CSS是一种用来表现HTML或XML等文件样式的计算机语言,可以通过浏览器工具查询相关元素的CSS从而进行元素定位。
语法:
driver.find_element_by_css_selector(self,css_selector)
网页元素定位方法
2
6.通过xpath定位
XPath是一种文档定位语言。通常有两种定位的方式:
(1)绝对路径
如果位置路径以根节点或/开头,则它是绝对路径。从根元素写起,当元素层级很深的时候,路径写的会很长,阅读性不好,也很难维护。不建议使绝对路径的方法。
(2)相对路径
如果位置路径以选择的节点开始,则它是相对路径。通过浏览器工具查询相关元素的xpath从而可以进行元素定位。语法:
driver.find_element_by_xpath(self,xpath)
网页元素定位方法
2
7.通过link定位
语法:
driver.find_element_by_link_text(self,link_text)
8.通过partial link text定位
语法:
driver.find_element_by_partial_link_text(self,link_text)
编写自动化脚本
3
Selenium库中有一个WebDriver的API,它能够使用Chrome、Firefox、IE等浏览器进行Web测试,它可以模拟用户点击链接、填写表单、点击按钮等,这将有助于我们开发WebDriver脚本。
任务描述
任务名称:使用Selenium 查询火车信息
访问中国铁路12306的首页,查询从北京到上海当日的高铁信息,并将查询的结果截图保存在磁盘中,文件命名为train.png。
拓展任务
任务名称:使用Selenium 查询图书信息
访问当当网的首页,查询图书《长征》的信息,并将查询的结果截图保存在磁盘中,文件命名为book.png。
THANK YOU
15
$$