python+selenium 自动化测试入门
DESCRIPTION
Python+selenium 自动化测试入门. 孔祥祝. Selenium 简介. Selenium 是一款基于 web 应用程序的开源测试工具。 Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。它支持 Firefox 、 ie 、 Mozilla 等众多浏览器。它同时直至 JAVA 、 C# 、 Ruby 、 Python 、 PHP 、 Perl 等众多的主流语言。. Selenium 简介 - 特点. 开源、轻量 运行在浏览器中 简单灵活、支持很多种语言 IED 提供录制功能. Selenium 简介. - PowerPoint PPT PresentationTRANSCRIPT
Python+selenium 自动化测试入门
孔祥祝
Selenium 简介
Selenium 是一款基于 web 应用程序的开源测试工具。 Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。它支持 Firefox 、 ie 、 Mozilla 等众多浏览器。它同时直至 JAVA 、 C# 、 Ruby 、 Python 、 PHP 、 Perl 等众多的主流语言。
Selenium 简介 - 特点
开源、轻量 运行在浏览器中 简单灵活、支持很多种语言 IED 提供录制功能
Selenium 简介
Selenium Core :支持 DHTML 的测试案例(效果类似数据驱动测试),它是 Selenium IDE 和 Selenium RC 的引擎
Selenium IDE : FireFox 的一个插件,支持脚本录制。 Selenium RC : Selenium Remote Control 。后续的系列文章
我会主要针对 Selenium RC 展开介绍。 Selenium Grid :允许同时并行地、在不同的环境上运行多
个测试任务,极大地加快 Web 应用的功能测试。
Selenium 简介
Selenium IDE 的安装
官网的下载路径http://release.seleniumhq.org/selenium-ide/1.6.0/selenium-ide-1.6.0.xpi
安装:将这个文件拖入到 firefox 窗口
SeleniumIDE 的录制功能
如下图启动 Firefox 工具 selenium IDE
SeleniumIDE 的录制功能
点击右侧的红色按钮开始录制。需要注意的是启动selenium IDE 后工具默认的就是开始录制。
SeleniumIDE 的录制功能
打开百度输入” selenium ide” 点击查询,整个步骤录制后如下。
SeleniumIDE 的录制功能
可以点击回放一下。脚本回放成功为淡绿色,验证信息回放成功为深绿色
SeleniumIDE 的录制功能
工具默认将操作步骤记录为 html 格式,点击 optionsformat可以选择你要转化的语言。从这儿可以看出 selenium 的强大之处。
SeleniumIDE 的录制功能
转化之后再source 面板可以看到转化后的代码,如右图
SeleniumRC 的工作原理 -RC 的组成
Selenium server 的安装和启动
官网的下载 selenium-server-standalone-2.19.0.jar cmdjava -jar selenium-server-standalone-2.19.0.jar
需要 java sdk
Python 自动化
安装 python2.7 将 selenium-2.19.1.tar.gz ( http://pypi.python.org/
packages/source/s/selenium/selenium-2.19.1.tar.gz#md5=fc856390a87800c463c7e2d3800e3112 )的 selenium 目录拷到 C:\Python27\Lib\site-packages 下
录制 http://y.duowan.com/category/vip
保存为 rc python
Python 下运行
具体测试用例
定位元素结合 Xpath checker 和 firebug
Element Locators==test object Map?
RFT 将所有的页面元素编织成树形的地图,通过键值对来进行精确地定位
Selenium 则通过元素定位器来获取页面元素。
Element Locators
id = id id locators 指定 HTML 中唯一的 id 元素 name = name name locators 指定 HTML 中相同的 name 元素中的第一个
元素 identifier = id identifier locators 首先查找 HTML 中是否存在该 id 的元素,
若不存在,则查找第一个该 name 的元素
Element Locators
dom = JavaScriptExpression dom locator 用 JavaScript 表达式来定位 HTML 中的元素 , 注意必须要以 "document" 开头
例如 : dom=document.forms['myForm'].myDropdown dom=document.images[56]
Element Locators
xpath=xpathExpression xpath locator 用 XPath 表达式来定位 HTML 中的元素 , 必
须注意要以 "//" 开头 例如: xpath=//img[@alt='The image alt text'] xpath=//table[@id='table1']//tr[4]/td[2]
Element Locators
link=textPattern link locator 用 link 来选择 HTML 中的连接或锚元素 例如 : link=The link text
在没有 locator 前序的情况下如果以 "document." 开头,则默认是使用 dom locator ,如果是以 "//" 开头,则默认使用 xpath locator, 其余情况均认作 identifier locator
Element Locators-xpath
XPath 使用路径表达式在 XML 文档中进行导航 XPath 是一门在 XML 文档中查找信息的语言 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 XPath 是一个 W3C 标准
Element Locators-xpath
a) nodename :选取此节点的所有子节点b) / :从根节点选取 (绝对路径 )c) // :从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
d) . :选取当前节点e) .. :选取当前节点的父节点f) @ :选取属性
Element Locators-xpath
<?xml version="1.0" encoding="ISO-8859-1"?><tools> <tool name=“RFT”> <use name=“function test”> <free>no!</free> </use> <free>no</free> </tool> <tool name=“loadrunner”> <use name=“performance test”> <free>no!</free> </use> <free>no</free> </tool>
Element Locators-xpath
<tool name=“selenium”> <use name=“function tester”> <free>yes!</free> </use> <free>yes</free> </tool> <tool id=“jmeter”> <use name=“performance test”></use> <free>yes</free> <\tool></tools>
Element Locators-xpath
选出所有的 tools 所有的子元素 /tools/* 选出文件中的所有元素 //* 选出所有的 free 元素 //free 注意:这里查找的 free 元素包括 tool 和 use 的子元素
Element Locators-xpath
选出 tool 下的 free 元素 //tools/tool/free 选出 tools 下的第一个 tool 元素 //tools/tool[1] 选出 tools 下的最后一个 tool 元素 //tools/tool[last()] 选出 free 为 no 的所有的 tool 元素 //tools/tool[free=no]
Element Locators-xpath
选出所有含有 name属性的 tool //tool[@name] 选出 name属性为 selenium 的 tool //tool[@name=‘selenium’]
Firebug+xpath checker
启动 Firefox 工具附加组件
Firebug+xpath checker
启动附加组件后点击获取附件组件,输入 firebug 回车,选中 firebug 后点击天机制 Firefox 。同样的方法添加 xpath checker
Firebug+xpath checker
如右图打开firebug 或者直接点击 F12 打开 firebug
Firebug+xpath checker
如下图点击按钮后鼠标置于页面处,可迅速定位到页面元素对应的代码
Firebug+xpath checker
右键菜单中打开 View Xpath
Firebug+xpath checker
如右图所示可以根据 firebug 中的定位后的代码写出对应页面元素的 xpath ,然后在 xpath checker中进行检查,若xpath 正确则返回对应的页面元素