1 / 36

Python+selenium 自动化测试入门

Python+selenium 自动化测试入门. 孔祥祝. Selenium 简介. Selenium 是一款基于 web 应用程序的开源测试工具。 Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。它支持 Firefox 、 ie 、 Mozilla 等众多浏览器。它同时直至 JAVA 、 C# 、 Ruby 、 Python 、 PHP 、 Perl 等众多的主流语言。. Selenium 简介 - 特点. 开源、轻量 运行在浏览器中 简单灵活、支持很多种语言 IED 提供录制功能. Selenium 简介.

Download Presentation

Python+selenium 自动化测试入门

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Python+selenium自动化测试入门 孔祥祝

  2. Selenium简介 Selenium是一款基于web应用程序的开源测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。它支持Firefox、ie、Mozilla等众多浏览器。它同时直至JAVA、C#、Ruby、Python、PHP、Perl等众多的主流语言。

  3. Selenium简介-特点 • 开源、轻量 • 运行在浏览器中 • 简单灵活、支持很多种语言 • IED提供录制功能

  4. Selenium简介 • Selenium Core:支持DHTML 的测试案例(效果类似数据驱动测试),它是Selenium IDE 和Selenium RC的引擎 • Selenium IDE:FireFox 的一个插件,支持脚本录制。 • Selenium RC:Selenium Remote Control。后续的系列文章我会主要针对Selenium RC 展开介绍。 • Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web 应用的功能测试。

  5. Selenium简介

  6. Selenium IDE的安装 • 官网的下载路径http://release.seleniumhq.org/selenium-ide/1.6.0/selenium-ide-1.6.0.xpi • 安装:将这个文件拖入到firefox窗口

  7. SeleniumIDE的录制功能 如下图启动Firefox工具selenium IDE

  8. SeleniumIDE的录制功能 点击右侧的红色按钮开始录制。需要注意的是启动selenium IDE后工具默认的就是开始录制。

  9. SeleniumIDE的录制功能 打开百度输入”selenium ide”点击查询,整个步骤录制后如下。

  10. SeleniumIDE的录制功能 可以点击回放一下。脚本回放成功为淡绿色,验证信息回放成功为深绿色

  11. SeleniumIDE的录制功能 工具默认将操作步骤记录为html格式,点击optionsformat可以选择你要转化的语言。从这儿可以看出selenium的强大之处。

  12. SeleniumIDE的录制功能 转化之后再source面板可以看到转化后的代码,如右图

  13. SeleniumRC的工作原理-RC的组成

  14. Selenium server的安装和启动 • 官网的下载selenium-server-standalone-2.19.0.jar • cmdjava -jar selenium-server-standalone-2.19.0.jar 需要java sdk

  15. 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下

  16. 录制http://y.duowan.com/category/vip 保存为rc python

  17. Python下运行

  18. 具体测试用例 定位元素 结合 Xpath checker 和 firebug

  19. Element Locators==test object Map? • RFT将所有的页面元素编织成树形的地图,通过键值对来进行精确地定位 • Selenium则通过元素定位器来获取页面元素。

  20. Element Locators • id = id id locators 指定HTML中唯一的id元素 • name = name name locators指定HTML中相同的name元素中的第一个元素 • identifier = id identifier locators首先查找HTML中是否存在该id的元素,若不存在,则查找第一个该name的元素

  21. Element Locators • dom = JavaScriptExpression dom locator 用JavaScript 表达式来定位HTML 中的元素,注意必须要以"document"开头 例如: dom=document.forms['myForm'].myDropdown dom=document.images[56]

  22. Element Locators • xpath=xpathExpression xpath locator 用XPath 表达式来定位HTML 中的元素,必须注意要以"//"开头 例如: xpath=//img[@alt='The image alt text'] xpath=//table[@id='table1']//tr[4]/td[2]

  23. Element Locators • link=textPattern link locator 用link 来选择HTML 中的连接或锚元素 例如: link=The link text • 在没有locator 前序的情况下如果以"document."开头,则默认是使用dom locator,如果是以"//"开头,则默认使用xpath locator,其余情况均认作identifier locator

  24. Element Locators-xpath • XPath 使用路径表达式在 XML 文档中进行导航 • XPath 是一门在 XML 文档中查找信息的语言 • XPath 包含一个标准函数库 • XPath 是 XSLT 中的主要元素 • XPath 是一个 W3C 标准

  25. Element Locators-xpath • nodename :选取此节点的所有子节点 • / :从根节点选取(绝对路径) • // :从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 • . :选取当前节点 • .. :选取当前节点的父节点 • @ :选取属性

  26. 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>

  27. 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>

  28. Element Locators-xpath • 选出所有的tools所有的子元素 /tools/* • 选出文件中的所有元素 //* • 选出所有的free元素 //free 注意:这里查找的free元素包括tool和use的子元素

  29. 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]

  30. Element Locators-xpath • 选出所有含有name属性的tool //tool[@name] • 选出name属性为selenium的tool //tool[@name=‘selenium’]

  31. Firebug+xpath checker 启动Firefox工具附加组件

  32. Firebug+xpath checker 启动附加组件后点击获取附件组件,输入firebug回车,选中firebug后点击天机制Firefox。同样的方法添加xpath checker

  33. Firebug+xpath checker 如右图打开firebug或者直接点击F12打开firebug

  34. Firebug+xpath checker 如下图点击按钮后鼠标置于页面处,可迅速定位到页面元素对应的代码

  35. Firebug+xpath checker 右键菜单中打开View Xpath

  36. Firebug+xpath checker 如右图所示可以根据firebug中的定位后的代码写出对应页面元素的xpath,然后在xpath checker中进行检查,若xpath正确则返回对应的页面元素

More Related