1、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的引擎 Sele
2、nium 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的录制功能 如下图启动Fir
3、efox工具selenium IDESeleniumIDE的录制功能 点击右侧的红色按钮开始录制。需要注意的是启动selenium IDE后工具默认的就是开始录制。SeleniumIDE的录制功能 打开百度输入”selenium ide”点击查询,整个步骤录制后如下。SeleniumIDE的录制功能 可以点击回放一下。脚本回放成功为淡绿色,验证信息回放成功为深绿色SeleniumIDE的录制功能 工具默认将操作步骤记录为html格式,点击optionsformat可以选择你要转化的语言。从这儿可以看出selenium的强大之处。SeleniumIDE的录制功能 转化之后再source面板可以看
4、到转化后的代码,如右图SeleniumRC的工作原理-RC的组成Selenium server的安装和启动 官网的下载selenium-server-standalone-2.19.0.jar cmdjava-jar selenium-server-standalone-2.19.0.jar 需要java sdkPython自动化 安装python2.7 将selenium-2.19.1.tar.gz(http:/pypi.python.org/packages/source/s/selenium/selenium-2.19.1.tar.gz#md5=fc856390a87800c463c7e
5、2d3800e3112)的selenium目录拷到C:Python27Libsite-packages下录制http:/ pythonPython下运行具体测试用例定位元素结合 Xpath checker 和 firebugElement Locators=test object Map?RFT将所有的页面元素编织成树形的地图,通过键值对来进行精确地定位 Selenium则通过元素定位器来获取页面元素。Element Locators id =id id locators 指定HTML中唯一的id元素 name=name name locators指定HTML中相同的name元素中的第一个元素
6、 identifier=id identifier locators首先查找HTML中是否存在该id的元素,若不存在,则查找第一个该name的元素Element Locators dom=JavaScriptExpression dom locator 用JavaScript 表达式来定位HTML 中的元素,注意必须要以document开头 例如:dom=document.formsmyForm.myDropdown dom=document.images56Element Locators xpath=xpathExpression xpath locator 用XPath 表达式来定位HT
7、ML 中的元素,必须注意要以/开头 例如:xpath=/imgalt=The image alt text xpath=/tableid=table1/tr4/td2Element Locators link=textPattern link locator 用link 来选择HTML 中的连接或锚元素 例如:link=The link text 在没有locator 前序的情况下如果以document.开头,则默认是使用dom locator,如果是以/开头,则默认使用xpath locator,其余情况均认作identifier locatorElement Locators-xpath
8、XPath 使用路径表达式在 XML 文档中进行导航 XPath 是一门在 XML 文档中查找信息的语言 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 XPath 是一个 W3C 标准Element Locators-xpatha)nodename:选取此节点的所有子节点b)/:从根节点选取(绝对路径)c)/:从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置d).:选取当前节点e).:选取当前节点的父节点f):选取属性Element Locators-xpath no!no no!no Element Locators-xpath yes!yes yes El
9、ement Locators-xpath 选出所有的tools所有的子元素 /tools/*选出文件中的所有元素 /*选出所有的free元素 /free 注意:这里查找的free元素包括tool和use的子元素Element Locators-xpath 选出tool下的free元素 /tools/tool/free 选出tools下的第一个tool元素 /tools/tool1 选出tools下的最后一个tool元素 /tools/toollast()选出free为no的所有的tool元素 /tools/toolfree=noElement Locators-xpath 选出所有含有name
10、属性的tool /toolname 选出name属性为selenium的tool /toolname=seleniumFirebug+xpath checker启动Firefox工具附加组件Firebug+xpath checker 启动附加组件后点击获取附件组件,输入firebug回车,选中firebug后点击天机制Firefox。同样的方法添加xpath checkerFirebug+xpath checker 如右图打开firebug或者直接点击F12打开firebugFirebug+xpath checker 如下图点击按钮后鼠标置于页面处,可迅速定位到页面元素对应的代码Firebug+xpath checker右键菜单中打开View XpathFirebug+xpath checker 如右图所示可以根据firebug中的定位后的代码写出对应页面元素的xpath,然后在xpath checker中进行检查,若xpath正确则返回对应的页面元素