robotframework自动化测试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Robotframework⾃自动化测试介绍@⻬齐涛-道⻓长1个⼈人介绍•@⻬齐涛-道⻓长•平安科技资深测试⼯工程师•毕业于东北⼤大学,市场营销专业;•Robotframework⾃自动化测试先⾏行者。2011年开始接触Robotframework⾃自动化测试,进⾏行敏捷试点。2012年在敏捷项⺫⽬目中应⽤用Robotframework+selenium2library进⾏行⾃自动化测试。•现在主要负责在公司内维护扩展Robotframework、selenium、QTLibrary等相关⾃自动化测试库。2QTP3Selenium-Python4Selenium-Java5Robotframework6⺫⽬目录•RF框架介绍•测试案例&关键字•Selenium2Library测试web演⽰示•AutoItLibrary测试演⽰示•DatabaseLibrary测试演⽰示•AppiumLibrary移动测试演⽰示•RF和敏捷测试•其他及答疑7RobotFramework的特性•易于使⽤用,采⽤用表格式语法,统⼀一测试⽤用例格式•可以使⽤用关键字驱动(keyword-driven)、数据驱动(data-driven)和⾏行为驱动开发(BDD) 完成.•重⽤用性好,可以利⽤用现有关键字来组合新关键字;•结果报告和⽇日志采⽤用HTML格式,易于阅读;•平台和应⽤用⽆无关联性;•模块结构⽀支持使⽤用不同的接⼝口来测试你的应⽤用;•易于扩展,提供了简单API,⽤用户可以⾃自定义的基于Python或者Java的测试库;•易于集成,提供了命令⾏行接⼝口和基于XML的输出⽂文件;•功能全⾯面,⽀支持WEB测试(Selenium)、JavaGUI测试,启动线程、Telnet、SSH等;•RemoteLibrary接⼝口可以⽀支持分布测试和使⽤用其他编程语⾔言实现测试库;•提供tag标签来分类和选择案例执⾏行;•内置⽀支持变量variables,⽀支持不同的环境进⾏行测试。•易于与版本管理集成;8RF框架架构图9⺫⽬目录•RF框架介绍•测试案例&关键字•Selenium2Library测试web演⽰示•AutoItLibrary测试演⽰示•DatabaseLibrary测试演⽰示•AppiumLibrary移动测试演⽰示•RF和敏捷测试•其他及答疑10测试案例11⽤用户关键字测试⽇日志•测试⽇日志按树形组织•可⾃自动提供错误步骤的屏幕截图13⺫⽬目录•RF框架介绍•测试案例&关键字•Selenium2Library测试web演⽰示•AutoItLibrary测试演⽰示•DatabaseLibrary测试演⽰示•AppiumLibrary移动测试演⽰示•RF和敏捷测试•其他及答疑14Selenium2Library测试web•Selenium2LibraryisawebtestinglibraryforRobotFrameworkthatleveragesthe Selenium2(WebDriver)librariesfromthe Selenium project.•Itismodeledafter(andforkedfrom)the SeleniumLibrary library,butre-implementedtouseSelenium2andWebDrivertechnologies.15Selenium2Library测试web•⽀支持的浏览器:•|firefox或ff|FireFox|•|internetexplorer或ie|InternetExplorer|•|googlechrome或gc或chrome|GoogleChrome|•|opera|Opera|•|phantomjs|PhantomJS|•|htmlunit|HTMLUnit|•|htmlunitwithjs|HTMLUnitwithJavasciptsupport|•|android|Android|•|iphone|Iphone|16IE设置17Selenium2Library测试web•常⽤用关键字:•OpenBrowserCloseBrowserCloseAllBrowser•LogSource•InputText•ClickButtonClickElementClickLink•ConfirmAction•CapturePageScreenshot•AssignIdToElement•ExecuteJavascript•SelectFromList•SelectFrame•SelectWindow•WaitUntilPageContains•WaitUntilKeywordSucceeds(BuiltIn)•RunKeywordXXX(BuiltIn)18定位元素•Locator•可以id或name来⽤用定位界⾯面元素•也可以使⽤用XPath或Dom,但是,必须⽤用XPath=或Dom=来开头•最好使⽤用id来定位,强烈建议强制要求开发为所有需要交互的界⾯面元素设定id,所以,locator最好以id=,name=,identifier=19Selenium2Library演⽰示•demo演⽰示写好⾃自动化测试⽤用例原则•要做到流程和数据的分离•通过不断抽象,消除冗余•测试⽤用例应尽量简单易读,避免复杂逻辑•建⽴立测试⽤用例分层架构,并坚守21测试⽤用例层次架构(实例)测试用例=测试流程模板+测试数据测试流程模板=测试流程构件的排列测试流程构件=测试流程步骤的排列测试流程步骤=界面交互细节CallSeleniumLibrary22分层总结•越靠近顶层,越接近⼿手⼯工测试案例•越靠近底层,越接近测试脚本•像写代码⼀一样写案例,像写案例⼀一样写代码。•RF的关键字驱动:函数式关键字•Keyword|arg1…argN(做操作)•Variable(s)=|Keyword|arg1…argN(返回值)23⺫⽬目录•RF框架介绍•测试案例&关键字•Selenium2Library测试web演⽰示•AutoItLibrary测试演⽰示•DatabaseLibrary测试演⽰示•AppiumLibrary移动测试演⽰示•RF和敏捷测试•其他及答疑24AutoItLibrary介绍及演⽰示•AutoItLibraryisaPythonkeywordlibrarythatextends RobotFramework byprovidingkeywordsbasedontheCOMinterfaceto AutoIt,afreewaretoolforautomatingtheWindowsGUI.25AutoItLibrary介绍及演⽰示•先安装PythonWindowsExtension(pywin32-216.win32-py2.7.exe)(需要本机管理员权限)•再安装AutoItLibrary-1.1,解压zip到任意不带空格⺫⽬目录,然后在⺫⽬目录下执⾏行•Pythonsetup.pyinstall•AutoItLibrary-1.1•下载路径:•pywin32-217.win32-py2.7.exe•下载路径:⽰示•演⽰示•计算器•对话框•上传•下载27⺫⽬目录•RF框架介绍•测试案例&关键字•Selenium2Library测试web演⽰示•AutoItLibrary测试演⽰示•DatabaseLibrary测试演⽰示•AppiumLibrary移动测试演⽰示•RF和敏捷测试•其他及答疑28DatabaseLibrary介绍•DatabaseLibrarycontainsutilitiesmeantforRobotFramework'susage.Thiscanallowyoutoqueryyourdatabaseafteranactionhasbeenmadetoverifytheresults.Thisiscompatible*withanyDatabaseAPISpecification2.0module.29安装-DatabaseLibrary•cx_Oracle-5.1.2-11g.win32-py2.7.msi(⺫⽬目前最新5.1.2,注意要和你本地的oracle客户端版本⼀一致)•下载路径:•DatabaseLibrary•下载路径:•⽀支持的数据库:•IBM DB2•Firebird (andInterbase)•Informix•Ingres•MySQL•Oracle•PostgreSQL•SAPDB (alsoknownasMaxDB)•Microsoft SQLServer•Microsoft Access•Sybase•SQLite•……•⽰示•演⽰示•Oracle•sqlite332⺫⽬目录•RF框架介绍•测试案例&关键字•Selenium2Library测试web演⽰示•AutoItLibrary测试演⽰示•DatabaseLibrary测试演⽰示•AppiumLibrary移动测试演⽰示•RF和敏捷测试•其他及答疑33Appium⾃自动化测试•需要安装•appium(android环境,xcode-command-line)•Appium-Python-Client•robotframework-appiumlibraryappium-doctorRunningiOSChecks✔Xcodeisinstalledat/Applications/Xcode.app/Contents/Developer✔XcodeCommandLineToolsareinstalled.✔DevToolsSecurityisenabled.✔TheAuthorizationDBissetupproperly.✔Nodebinaryfoundat/usr/local/bin/node✔iOSChecksweresuccessful.RunningAndroidChecks✔ANDROID_HOMEissetto/Users/qitao/Desktop/mobile/android/adt-bundle-mac-x86_64-20140321/sdk✔JAVA_HOMEissetto/System/Library/Frameworks/JavaVM.framework/Home.✔ADBexistsat/Users/qitao/Desktop/mobile/android/adt-bundle-mac-x86_64-20140321/sdk/platform-tools/adb✔Androidexistsat/Users/qitao/Desktop/mobile/android/adt-bundle-mac-x86_64-20140321/sdk/tools/android✔Emulatorexistsat/Users/qitao/Desktop/mobile/android/adt-bundle-mac-x86_64-20140321/sdk/tools/emulator✔AndroidChecksweresuccessful.✔AllChecksweresuccessfulappium演⽰示•iOS演⽰示•Android演

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功