您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > RFS自动化测试培训(PPT110页)
Content工具简介与环境搭建RobotFramework+Selenium使用持续集成BDD简介与lettuce工具列表RobotFrameworkSeleniumFireBugJenkinslettuceRobotFramework是什么RobotFramework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。自动化测试框架的职责定义一种统一的方式来书写和组织测试用例(测试步骤,测试数据与期待返回值);控制测试用例的执行过程;生成测试报告和测试日志;RobotFramework特性易于使用,采用表格式语法,统一测试用例格式;重用性好,可以利用现有关键字来组合新关键字;支持变量;支持创建基于数据驱动的测试用例。结果报告和日志采用HTML格式,易于阅读;提供标签以分类和选择将被执行的测试用例;平台、应用无关;功能全面,支持WEB测试(Selenium)、JavaGUI测试易于扩展,提供了简单API,用户可以自定义的基于Python或者Java的测试库;易于集成,提供了命令行接口和基于XML的输出文件;易于与版本管理集成Selenium简介Selenium是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。与其他测试工具相比,使用Selenium的最大好处是:Selenium测试直接在浏览器中运行,就像真实用户所做的一样。Selenium测试可以在Windows、Linux和上的InternetExplorer、Mozilla和Firefox中运行。其他测试工具都不能覆盖如此多的平台。RFS=RobotFramework+Selenium(WD)RobotFramework架构环境搭建-----在线安装1.安装Python,使用Python-2.72.安装wxPython2.83.pipinstallrobotframework4.pipinstallrobotframework-ride5.pipinstallrobotframework-selenium2library6.浏览器driver:、、、、[PythonDir]\Lib\site-packages\robot\utils下的encodingsniffer.py文件中,找到DEFAULT_OUTPUT_ENCODING='cp437':原来的编码是’cp437’将其改成’cp936’(简体中文,gbk)。*FireBug安装FireBug入门使用Content工具简介与环境搭建RobotFramework+Selenium使用持续集成BDD简介与lettuceRFS基本使用*新建项目*新建测试套件123*新建测试用例132*添加测试库132在测试套件中添加库注意区分大小写*编写测试用例打开禅道登录页面输入用户名输入密码单击登录按钮*运行测试*运行测试*查看报告*查看日志24*RFS基本使用Selenium支持的定位方式最好以id来定位,如果没有id可以使用AssignIdToElement关键字来为元素分配一个id*XpathXPath是一门在XML文档中查找信息的语言。XPath用于在XML文档中通过元素和属性进行导航。XPath是XML路径语言,用来查询XML文档里中癿节点。主流的浏览器都支持Xpath,因为HTML页面在DOM中表示为XHTML文档。Xpath语言是基于XML文档的树结构,并提供了浏览树的能力,通过多样的标准来选择结点*Xpath1通过绝对路径定位元素xpath=/html/body/form/input通过相对路径定位元素xpath=//input使用索引来定位元素xpath=//input[2]使用属性值定位元素xpath=//input[@id=’username’]xpath=//input[@id=’username’][@name=’username’]xpath=//input[@id=’username’and@name=’username’]xpath=//input[@id=’username’or@name=’username’]*Xpath2使用属性名称定为元素xpath=//input[@name]使用部分属性值定位元素使用值来匹配任意属性及元素//input[@*=’username’]*切换到新的窗口有时,浏览器打开了两个窗口,要跳转到新的窗口才能操作元素进入新的窗口SelectWindownew返回到主窗口SelectWindowmain注意:切换到新窗口后,关闭窗口,必须要有一步返回到主页面打开3和3个以上的窗口:@{x}listwindows首先得到所有窗口的句柄列表selectwindow@{x}[2]切换到第三个窗口*进入一个frame或iframe有时,需要先进入一个frame或iframe再定位一个元素,这样效率更高,可以使用如下两个关键词进入一个frame或iframeSelectFrame|locator回到最上层frame或iframeUnselectFrame*js定位:(js)js点击executejavascriptdocument.querySelectorAll('css')[0].click()移动div中内嵌滚动条(先定位,再移动)移动滚动条到最底端executejavascriptdocument.querySelectorAll('css')[0].scrollTop=10000移动到最顶端executejavascriptdocument.querySelectorAll('css')[0].scrollTop=0正常网页直接进行移动executejavascriptdocument.body.scrollTop=0executejavascriptdocument.scrollTop(0,50)*js定位:(jQuery)jQuery定位(定位使用的是css定位)executejavascript$('css').click()jQuery事件executejavascript$('css').click()定位后点击executejavascript$('css').dblclick()定位后双击executejavascript$('css').text()定位后得到元素的文字executejavascript$('css').text('文字')定位后输入文字返回得到的文字${x}executejavascriptreturn$('css').text()*css定位:*网页代码:*css定位实例:*css结构定位:1、lia:选中li标签的子元素a2、li+a:选中li同级的下一个a3、lia:nth-child(n)/lia:nth-of-type(n):选中li下第n个alia: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下最后面一个alia:first-child/lia:first-of-type:选中li下第一个个a5、lia:only-child:li下只有1个a的a标签RFS基本使用*操作浏览器Selenium2Lib提供了与浏览器交互的关键词:OpenBrowserMaximizeBrowserWindowGoToGoBackReloadPageCloseWindowCloseBrowserCloseAllBrowsers驱动不同的浏览器1、下载IE的driver2、放到项目目录下*常用关键字点击ClickButton|locatorClickElement|locatorClickImage|locatorClickLink|locatorDoubleClickElement|locator有时在IE中,Click不起作用,可以用如下命令来替代PressKey|id|\\13或\\10常用关键字输入InputPassword|locator|textInputText|locator|text有时会出现输入之后界面没有的问题,可以用如下命令来触发页面更新PressKey|id|\\13或\\10*常用关键字按键PressKey|locator|key例子PressKey|text_field|q|PressKey|login_button|\\13|#ASCIIcodefor特殊编码•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.DECIMAL,•57:Keys.DIVIDE,•59:Keys.SEMICOLON,•61:Keys.EQUALS,•127:Keys.DELETE常用关键字Selenium2Lib提供了和其他界面元素交互的关键词:ElementFocus聚焦Simulate模拟时间触发OpenContextMenu打开ListSelectAllFromListSelectFromListUnselectFromListCheckboxSelectCheckboxUnselectCheckbox常用关键字Selenium2Lib提供了和其他界面元素交互的关键词:RadioButtonSelectRadioButtonFormSubmitFormChooseFile(ForFileUpload)*常用关键字默认情况下,Selenium2会自动等待页面加载完成对于页面AJAX可以使用如下等待页面的关键词:WaitForCondition|condition|timeout=None|error=NoneWaitUntilPageContains|text|timeout=None|error=NoneWaitUntilPageContainsElement|locator|timeout一种调试时可以使用,但是不应该留下来的SleepxSleep关键词是RobotFrameworkBuiltInLibrary提供的:PageGetTitleGetLocationGetSourceGetMatchingXpat
本文标题:RFS自动化测试培训(PPT110页)
链接地址:https://www.777doc.com/doc-12173 .html