《自动化测试培训baiduppt课件》由会员分享,可在线阅读,更多相关《自动化测试培训baiduppt课件(78页珍藏版)》请在金锄头文库上搜索。
1、自动化测试培训2018.7.6,培训目标:通过本次培训使学员对自动化测试有基本的了解,掌握Robot Framework和Jenkins的环境搭建,能够进行基本的测试设计和开发,为深入学习打下良好的基础。 培训时间:4个小时,培训大纲,自动化测试简介(0.5小时) 软件测试技术的发展趋势 自动化测试的重要作用 自动化测试框架和工具介绍 Robot Framework(1.5小时) Robot Framework简介 Robot Framework安装 Robot Framework示例演示 Jenkins(1.5小时) Jenkins简介 Jenkins安装和配置 Jenkins示例演示(Je
2、nkins+Maven+GIT) 交流讨论(0.5小时),自动化测试简介-软件测试技术的发展趋势,自动化软件测试技术应用越来越普遍 测试技术不断细分 云技术、容器化和开源工具使得测试成本下降 测试驱动开发TDD DevOps(Development and Operations)越来越流行 探索式软件测试 基于模型的软件测试,DevOps(Development and Operations) 瀑布模型 敏捷开发 精益方法 持续集成 持续交付 持续部署 持续运营,自动化测试简介-自动化测试的重要作用,软件测试V模型把测试分为4个级别,从高到低分别是验收测试、系统测试、集成测试和单元测试。,自动
3、化测试简介-自动化测试的重要作用,为什么需要自动化测试? 软件测试存在大量重复性的工作;缺陷修改后需要进行回归测试; ”穷尽所有测试是不可能的”、“软件测试是为了找到软件的缺陷,而不是证明软件没有缺陷”是软件测试的两条原则; 软件测试的工作量非常大等等.,自动化测试简介-自动化测试框架和工具介绍,单元测试、集成测试xUnit,JUnit、NUnit 系统测试/功能测试Selenium/Robot Framework 持续集成测试Jenkins 构建工具Ant、Maven、Gradle,Robot Framework-RF简介,robot framework是一种基于可扩展关键字驱动自动化测试框
4、架。 Robot Framework是开源软件,由Nokia Siemens Networks开发并提供支持,特性,易于重用,采用表格式语法,统一测试用例格式; 重用性好,可以利用现有关键字来组合新关键字; 结果报告和日志采用html格式,易于阅读; 平台、应用无关,可以用于测试不同平台上的不同的应用; 易于扩展,提供了简单的测试库API,用户可以使用Python或Java自定义测试库; 易于集成到现有的构建工具(持续集成系统),提供了命令行接口和基于xml的输出文件; 功能全面,支持Selenium Web测试,Java GUI测试,运行进程,Telnet,SSH等; 支持创建数据驱动的测试
5、用例; 支持变量; 提供标签以分类和选择将被执行的测试用例; 易于与版本管理集成,测试套件是文件和目录,可以被版本管理系统管理;,RF架构-官方,RF架构-我们的理解,标准库,BuiltIn :包含了常用的关键字,自动导入。 Collections:包含了 处理列表和字典的关键字。 DateTime :支持创建和验证日期和时间。 Dialogs:支持暂停测试执行,便于从用户获得输入。 OperatingSystem :支持执行操作系统相关的各种任务。 Process :支持执行系统进程。 Remote :远程库接口,没有自己的关键字。 Screenshot:提供捕获和存储桌面屏幕截图的关键字。
6、 String:操作字符串,验证字符串值的库 Telnet :支持连接到Telnet服务器,执行Telnet命令。 XML :验证和修改XML文件的库,针对不同应用的测试库,SeleniumLibrary:Web自动化测试 AutoItLibrary:Windows GUI自动化测试 DatabaseLibrary:数据库测试 HTTPRequestLibrary:HTTP自动化测试 AppiumLibrary:移动应用自动化测试 详见:http:/robotframework.org/#libraries,工具-内置工具,Rebot:生成基于XML输出的日志和报告 Libdoc:生成测试库和
7、资源文件的关键字文档 Testdoc:生成基于Robot Framework测试用例的HTML文档。 Tidy:清理和变更Robot Framework测试数据文件的格式,工具-编辑器工具,Ride:独立的RF编辑器 Eclipse plugin:RF Eclipse 插件 Robot Plugin for IntelliJ IDEA:RF IntelliJ IDEA插件 Notepad+:Notepad+ RF支持 详见:http:/robotframework.org/#tools,工具-构建工具,Jenkins plugin Maven plugin Ant task 详见:http:/
8、robotframework.org/#tools,Robot Framework-RF安装, 安装python2.7, https:/www.python.org/ 安装robot framework(验证是否成功pybot -version) 安装wxPython2.8-win32-unicode-2.8.12.1-py27(RIDE依赖) 安装集成开发环境RIDE 安装selenium 2Library 注意安装顺序,提前安装 selenium 2Library失败,安装Python,双击python-2.7.14.msi,安装Python,指定安装目录,安装Python,定制安装,将p
9、ython.exe增加到环境变量Path,注意到安装了pip,Test suite,安装Robot Framework,在命令行输入 pip install robotframework,安装Robot Framework,升级RF,在命令行输入: Python m pip install upgrade pip,查看安装的RF版本,Pybot -version,安装wxPython,在网址 运行wxPython2.8-win32-unicode-2.8.12.1-py27.exe 或运行wxPython2.8-win64-unicode-2.8.12.1-py27.exe,wxPython安
10、装结束,安装RIDE和RIDE的启动,安装:pip install robotframework-ride 启动: cd c:python27scripts Python ride.py,Ride的界面,安装Selenium library,在命令行输入:pip install robotframework-seleniumlibrary,查看pip命令 pip -help 查看已安装包 pip list,Robot Framework-RF示例演示,WebDemo是RF官方提供的一个RF Selenium测试示例,其中包含了一个用Python编写的简单的Web应用demoapp。 下载Web
11、Demo, https:/bitbucket.org/robotframework/webdemo/downloads/ 解压文件WebDemo-20150901.zip,例如解压到c:Python27workspace 输入如下命令,启动demoapp: cd C:Python27workspaceWebDemodemoapp Python server.py 在浏览器网址输入:http:/localhost:7272/,输入用户名:demo,密码:mode,可以登录成功。,运行准备,需要以管理员身份运行IE,将所有四个区域的启用保护模式选项清除,否则WebDriver会报这个错误,确认IE
12、没有设置proxy,Ride中演示WebDemo,打开目录WebDemo,File-Open Directory 浏览测试用例,在资源文件resource.robot中修改导入的库为SeleniumLibrary 根据情况修改变量$BROWSER的值,火狐浏览器Firefox;谷歌浏览器Chrome,IE浏览器internetexplorer 将浏览器的驱动放在PATH指定的目录中,火狐浏览器geckodriver ;谷歌浏览器chromedriver ,IE浏览器IEDriverServer 执行测试,按F8 查看测试报告和日志,点击Run页签中的Report或Log,创建测试项目,点击Fi
13、le-New Project,测试项目的类型可以是文件或目录,选择文件时,测试项目中只包含测试用例;选择目录时,测试项目可以包含测试套件和测试用例。建议选择目录类型,这样更便于组织测试用例。 格式可以选robot,txt,tsv,或html格式,创建测试套件,右击测试项目,点击New Suite 测试套件也可以选择文件或目录类型,我们选择文件类型。,创建测试用例,右击测试套件,点击New Test Case 新建两个测试用例valid_login和invalid_login,创建资源文件,右击测试项目,点击New Resource,我们可以在资源文件中导入测试库、定义一些常量,添加测试库,在资
14、源文件编辑器中点击Library,还可以在测试项目或测试套件编辑器中添加测试库,测试库提供特定应用的关键词。,增加常量,在资源文件编辑器中,点击ADD Scalar,常量是有确定值的,WebDemo的资源文件中定义了如下的量:,增加自定义关键字,右击资源文件,点击New User Keyword,输入关键字名称,用户关键字由一组标准关键字组成,编辑自定义关键字,在关键字编辑器中可以增加关键字, 按F5可以搜索关键字,在测试套件中引用资源,测试用例中用到的资源需要在测试套件里直接引用,编辑测试用例,测试用例由关键字组成,执行测试,点击Run页签中的Start或按F8键,查看测试日志,点击Run页
15、签中的Log,测试报告,点击Run页签中的Report,使用selenium2Library,selenium2Library/ SeleniumLibrary将webdriver与robot framework连接起来 selenium2Library提供了非常多的内置关键词,浏览器操作的关键词,Open Browser Maximize Browser Window Go To Go Back Reload Page Close Window Close Browser Close All Browsers,其他常用关键词,点击 Click Button | locator Click E
16、lement | locator Click Image | locator Click Link | locator Double Click Element | locator 输入 Input Password | locator | text Input Text| locator | text,定位元素,Locator 可以用id或name定位界面元素 也可以使用XPath或Dom,但是,必须用XPath=或Dom=来开头 最好使用id来定位,强烈建议强制要求开发为所有需要交互的界面元素设定id,所以,locator最好以id=,name=,identifier=,定位元素,可以使用firefox firebug或ie8来辅助定位。右击页面元素,点击查看元素。,检查结果,验证页面是否包含相应结果 Page Should(Not)Contain Button Page Should(Not)Contain Checkbox Page Should(Not)Contain Element Page Should(Not)Contain Image Pa