RFS自动化测试培训(110页)ppt课件_第1页
RFS自动化测试培训(110页)ppt课件_第2页
RFS自动化测试培训(110页)ppt课件_第3页
RFS自动化测试培训(110页)ppt课件_第4页
RFS自动化测试培训(110页)ppt课件_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Content工具简介与环境搭建RobotFramework+Selenium运用继续集成BDD简介与lettuce.工具列表RobotFrameworkSeleniumFireBugJenkinslettuce.Robot Framework 是什么Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进展分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发ATDD。.自动化测试框架的职责定义一种一致的方式来书写和组织测试用例测试步骤,测试数据与等待前往值;控制测试用例的执行过程;生成测

2、试报告和测试日志;.RobotFramework 特性易于运用,采用表格式语法,一致测试用例格式;重用性好,可以利用现有关键字来组合新关键字;支持变量;支持创建基于数据驱动的测试用例。结果报告和日志采用HTML格式,易于阅读;提供标签以分类和选择将被执行的测试用例;平台、运用无关;功能全面,支持WEB测试Selenium、Java GUI 测试易于扩展,提供了简单API,用户可以自定义的基于Python或者Java的测试库;易于集成,提供了命令行接口和基于XML的输出文件;易于与版本管理集成.Selenium 简介Selenium 是 ThoughtWorks 专门为 Web 运用程序编写的一

3、个验收测试工具。与其他测试工具相比,运用 Selenium 的最大益处是: Selenium 测试直接在阅读器中运转,就像真适用户所做的一样。Selenium 测试可以在 Windows、Linux 和上的 Internet Explorer、Mozilla 和 Firefox 中运转。其他测试工具都不能覆盖如此多的平台。RFS=Robot Framework + SeleniumWD.RobotFramework架构.环境搭建在线安装安装Python,运用Python-2.7安装wxPython2.8pip install robotframeworkpip install robotfra

4、mework-ridepip install robotframework-selenium2library阅读器driver:code.google/p/selenium/downloads/list.环境搭建离线安装1、/pypi/decorator/2、/pypi/robotframework/#downloads3、/pypi/robotframework-selenium2library/1.5.04、/pypi/selenium/2.40.0.中文支持在PythonDirLibsite-packagesrobotutils下的encodingsniffer.py文件中,找到DEFA

5、ULT_OUTPUT_ENCODING = cp437 : 原来的编码是cp437 将其改成 cp936(简体中文,gbk) 。.*FireBug安装.FireBug入门运用.Content工具简介与环境搭建RobotFramework+Selenium运用继续集成BDD简介与lettuce.RFS根本运用入门实例.*新建工程.*新建测试套件123.*新建测试用例132.*添加测试库132在测试套件中添加库留意区分大小写.*编写测试用例翻开禅道登录页面输入用户名输入密码单击登录按钮关键字.*运转测试.*运转测试.*查看报告.*查看日志.24*RFS根本运用元素定位.Selenium支持的定位方

6、式最好以id来定位,假设没有id可以运用AssignIdToElement关键字来为元素分配一个id.*XpathXPath 是一门在 XML 文档中查找信息的言语。XPath 用于在 XML 文档中经过元素和属性进展导航。XPath 是 XML 途径言语,用来查询 XML 文档里中癿节点。主流的阅读器都支持 Xpath,由于 HTML 页面在 DOM 中表示为 XHTML 文档。Xpath 言语是基于 XML 文档的树构造,并提供了阅读树的才干,经过多样的规范来选择结点w3school/xpath/.*Xpath1经过绝对途径定位元素xpath=/html/body/form/input经过

7、相对途径定位元素xpath=/input 运用索引来定位元素xpath=/input2 运用属性值定位元素xpath=/inputid=usernamexpath=/inputid=usernamename=usernamexpath=/inputid=username and name=usernamexpath=/inputid=username or name=username.*Xpath2运用属性称号定为元素xpath=/inputname运用部分属性值定位元素运用值来匹配恣意属性及元素/input*=username.*切换到新的窗口有时,阅读器翻开了两个窗口,要跳转到新的窗口才干

8、操作元素进入新的窗口Select Window new前往到主窗口Select Windowmain留意:切换到新窗口后,封锁窗口,必需求有一步前往到主页面翻开3和3个以上的窗口:xlist windows 首先得到一切窗口的句柄列表select window x2切换到第三个窗口.*进入一个frame或iframe有时,需求先进入一个frame或iframe再定位一个元素,这样效率更高,可以运用如下两个关键词进入一个frame或iframeSelect Frame | locator回到最上层frame或iframeUnselect Frame.*js定位:jsjs点击execute jav

9、ascript document.querySelectorAll(css)0.click()挪动div中内嵌滚动条 先定位,再挪动挪动滚动条到最底端execute javascript document.querySelectorAll(css)0.scrollTop=10000挪动到最顶端execute javascript document.querySelectorAll(css)0.scrollTop=0正常网页直接进展挪动execute javascript document.body.scrollTop=0execute javascript document.scrollTop

10、(0,50).*js定位:jQueryjQuery定位(定位运用的是css定位)execute javascript $(css).click()jQuery事件execute javascript $(css).click()定位后点击execute javascript $(css).dblclick()定位后双击execute javascript $(css).text()定位后得到元素的文字execute javascript $(css).text(文字)定位后输入文字前往得到的文字$xexecute javascript return $(css).text().*css定位:.

11、*网页代码:.*css定位实例:.*css构造定位:1、 lia :选中 li 标签的子元素 a2、 li +a :选中 li 同级的 下一个 a3、 lia:nth-child(n) / lia:nth-of-type(n) :选中 li 下第 n 个 a lia:nth-last-child(n) / lia:nth-last-of-type(n):选中 li 下,倒数第 n 个 a 假设 n = odd 表示奇数 假设 n = even 表示偶数4、 lia:last-child / lia:last-of-type : 选中 li 下最后面一个 a lia:first-child /

12、lia:first-of-type : 选中 li 下第一个个 a5、 lia:only-child :li 下只需1个a的 a 标签.RFS根本运用selenium2library.*操作阅读器Selenium2Lib提供了与阅读器交互的关键词:Open BrowserMaximize Browser WindowGo To Go BackReload PageClose WindowClose BrowserClose All Browsers.驱动不同的阅读器Selenium 默许的是Firefox阅读器,其他阅读器需求本人的driver1、下载IE的driver2、放到工程目录下.*常

13、用关键字点击Click Button | locator Click Element | locatorClick Image | locatorClick Link | locatorDouble Click Element | locator有时在IE中,Click不起作用,可以用如下命令来替代Press Key | | 13或10.常用关键字输入Input Password | locator | textInput Text| locator | text有时会出现输入之后界面没有的问题,可以用如下命令来触发页面更新Press Key | | 13或10.*常用关键字按键Press K

14、ey | locator | key 例子Press Key | text_field | q |Press Key | login_button | 13 | # ASCII code for 特殊编码0: Keys.NULL,8: Keys.BACK_SPACE,9: Keys.TAB,10: Keys.RETURN,13: Keys.ENTER,24: Keys.CANCEL,27: Keys.ESCAPE,32: Keys.SPACE,42: Keys.MULTIPLY,43: Keys.ADD,44: Keys.SEPARATOR,45: Keys.SUBTRACT,56: Keys

15、.DECIMAL,57: Keys.DIVIDE,59: Keys.SEMICOLON,61: Keys.EQUALS,127: Keys.DELETE.常用关键字Selenium2Lib提供了和其他界面元素交互的关键词:ElementFocus 聚焦Simulate 模拟时间触发Open Context Menu 翻开ListSelect All From ListSelect From ListUnselect From ListCheckboxSelect CheckboxUnselect Checkbox.常用关键字Selenium2Lib提供了和其他界面元素交互的关键词:Radio

16、ButtonSelect Radio ButtonFormSubmit FormChoose File For File Upload).*常用关键字默许情况下, Selenium2会自动等待页面加载完成对于页面AJAX可以运用如下等待页面的关键词:Wait For Condition | condition | timeout=None | error=None Wait Until Page Contains | text | timeout=None | error=None Wait Until Page Contains Element | locator | timeout 一种调

17、试时可以运用,但是不应该留下来的Sleep xSleep关键词是Robot Framework Built In Library提供的httprobotframework.googlecode/hg/doc/libraries/BuiltIn.html?r=2.6.1.常用关键字获取页面信息:PageGet TitleGet LocationGet SourceGet Matching Xpath CountElementGet Element AttributeGet ValueGet Text (Added By Adam Wu)LinkGet All Links.常用关键字获取页面信息T

18、ableGet Table CellListGet List ItemsGet Selected List LabelGet Selected List LabelsGet Selected List ValueGet Selected List Values.RFS根本运用弹出窗口处置.*常用关键字Alert Should Be PresentGet Alert MessageChoose Cancel On Next ConfirmationChoose Ok On Next ConfirmationConfirm Action.*AutoItLibrary以管理员身份运转cmdpytho

19、n setup.py install导入库AutoItLibrary.RFS根本运用编写测试用例.添加资源资源下面可以放本人的关键字.*添加自定义关键字.添加内置模块为资源添加库.援用自定义资源在测试套件中添加资源.*运用自定义资源“翻开阅读器曾经变颜色了,阐明援用正确.*参数化:一创建列表方式,适用于少量数据.*二调用read.py脚本,进展封装,适用于大量数据.*位置构造:excel文件和read.py文件在同一个目录.*read.py脚本,代码一览.*写好自动化测试用例的原那么要做到流程和数据的分别留意:界面元素id不算数据,不应分别.更新测试用例添加一个新的测试用例这样好吗?.写好自动

20、化测试用例的原那么不断封装,用例复用.*写好自动化测试用例的原那么要做到数据和流程的分别不断笼统,消除冗余.写好自动化测试用例的原那么要做到数据和流程的分别不断笼统,消除冗余测试用例应该简单易读,防止复杂逻辑.*写好自动化测试用例的原那么要做到数据和流程的分别不断笼统,消除冗余测试用例应该简单易读,防止复杂逻辑问题:“登录放在这好吗?.写好自动化测试用例的原那么1、要做到流程和数据的分别2、经过不断笼统,消除冗余3、测试用例应尽量简单易读,防止复杂逻辑4、建立测试用例分层架构,并坚守.测试用例的层次构造测试用例 = 测试流程模板 + 测试数据 测试流程模板 =测试流程构件的陈列 测试流程构件

21、=测试流程步骤的陈列 测试流程步骤 =界面交互细节Call Selenium Library.RFS根本运用变量和结果验证.运用变量运用变量来实现测试目的可变.运用变量运用变量来实现测试目的可变运转时可以指定变量取值切换不同环境.运用变量可以运用变量来获得界面前往值,用于验证需求留意关键词里面的前往值变量只在关键词之内有效,可以经过如下关键词来提升变量的可见范围,但是最好只提升到Test级别,由于测试用例最好是相互独立的Set Global VariableSet Suite VariableSet Test Variable.常用关键字验证页面能否包含相应结果PagePage ShouldN

22、ot)Contain ButtonPage ShouldNot)Contain CheckboxPage ShouldNot)Contain ElementPage ShouldNot)Contain ImagePage Should (Not)Contain LinkPage Should (Not)Contain ListPage ShouldNot)Contain Radio ButtonPage ShouldNot)Contain TextfieldLocation & TitleLocation Should BeLocation Should ContainTitle Should

23、 Be.常用关键字验证页面能否包含相应结果TextCurrent Frame ContainsPage Should ContainPage Should Not ContainTextfield Value Should BeElementElement Should Be DisabledElement Should Be EnabledElement Should Be VisibleElement Should ContainElement Should Not Be VisibleElement Text Should Be.常用关键字验证页面能否包含相应结果ListList Sel

24、ection Should Be List Should Have No SelectionsCheckboxCheckbox Should Be SelectedCheckbox Should Not Be SelectedRadio ButtonRadio Button Should Be Set ToRadio Button Should Not Be Selected.常用关键字验证页面能否包含相应结果TableTable Cell Should ContainTable Column Should ContainTable Footer Should ContainTable Hea

25、der Should ContainTable Row Should ContainTable Should ContainTextfield Should ContainXpath Xpath Should Match X Times.DBLibrary1、下载DBLibrary: franz-see.github.io/Robotframework-Database-Library/2、安装 python setup.py install3、导入库:DatabaseLibrary4、安装MySQL Interfacehttpsgithub/petehunt/PyMySQL.DBLibrar

26、yConnect To Database Using Custom ParamsDisconnect From DatabaseQueryExecute Sql StringRow Count Is Equal To XTable Must ExistCheck If Exists In Database.RFS根本运用数据驱动.数据驱动可以利用Template实现数据驱动.创建一个Template新建一个关键字LoginTemplate.援用Template留意:用例中假设运用了这个template,那么用例步骤里面就只用填写传送的参数就可以了.RFS根本运用RFS中的编程.分支与流程控制常

27、用关键字Run Keyword IfRun Keyword If Test Passed /Failed(only for teardown)Set Variable If.常用关键字Evaluate.RFS根本运用自定义关键字.运用Python开发自定义关键字我们来开发一个产生随机数的库1、新建一个文件:MyLibrary.py.援用定义关键字1、把它放到工程文件夹下2、导入本人的库MyLibrary.py.运用本人的库产生4到10的随机数.Content验收测试驱动开发概述工具简介与环境搭建RobotFramework+Selenium运用继续集成BDD简介与lettuce.继续集成CI继

28、续集成是一种软件开发实际,即团队开发成员经常集成他们的任务,通常每个成员每天至少集成一次,也就意味着每天能够会发生多次集成。每次集成都经过自动化的构建包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队可以更快的开发内聚的软件。安装Jenkins.翻开Jenkinslocalhost:8080.添加节点选择系统管理管理节点.添加节点新建节点填入节点称号.添加节点# of executors:假设运用RF的话必需填1Remote FS root:远程机的任务目录Launch method:假设选其他的能够会出错.启动节点建议运用这种方式.添加插件1、系统管理管理插件 2、高级选择文件上传 上传后需重启Jenkins.新建义务1、在首页新建义务 2、填入称号,选择自在风格即可.新建义务.Content验收测试驱动开发概述工具简介与环境搭建RobotFramework+Selenium运用继续集成BDD简介与lettuce.*BDD简介

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论