自动化测试培训baidu PPT课件_第1页
自动化测试培训baidu PPT课件_第2页
自动化测试培训baidu PPT课件_第3页
自动化测试培训baidu PPT课件_第4页
自动化测试培训baidu PPT课件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

自动化测试培训2018 7 6 培训目标 通过本次培训使学员对自动化测试有基本的了解 掌握RobotFramework和Jenkins的环境搭建 能够进行基本的测试设计和开发 为深入学习打下良好的基础 培训时间 4个小时 培训大纲 自动化测试简介 0 5小时 软件测试技术的发展趋势自动化测试的重要作用自动化测试框架和工具介绍RobotFramework 1 5小时 RobotFramework简介RobotFramework安装RobotFramework示例演示Jenkins 1 5小时 Jenkins简介Jenkins安装和配置Jenkins示例演示 Jenkins Maven GIT 交流讨论 0 5小时 自动化测试简介 软件测试技术的发展趋势 自动化软件测试技术应用越来越普遍测试技术不断细分云技术 容器化和开源工具使得测试成本下降测试驱动开发TDDDevOps DevelopmentandOperations 越来越流行探索式软件测试基于模型的软件测试 DevOps DevelopmentandOperations 瀑布模型敏捷开发精益方法持续集成持续交付持续部署持续运营 自动化测试简介 自动化测试的重要作用 软件测试V模型把测试分为4个级别 从高到低分别是验收测试 系统测试 集成测试和单元测试 自动化测试简介 自动化测试的重要作用 为什么需要自动化测试 软件测试存在大量重复性的工作 缺陷修改后需要进行回归测试 穷尽所有测试是不可能的 软件测试是为了找到软件的缺陷 而不是证明软件没有缺陷 是软件测试的两条原则 软件测试的工作量非常大等等 自动化测试简介 自动化测试框架和工具介绍 单元测试 集成测试xUnit JUnit NUnit系统测试 功能测试Selenium RobotFramework持续集成测试Jenkins构建工具Ant Maven Gradle RobotFramework RF简介 robotframework是一种基于可扩展关键字驱动自动化测试框架 RobotFramework是开源软件 由NokiaSiemensNetworks开发并提供支持 特性 易于重用 采用表格式语法 统一测试用例格式 重用性好 可以利用现有关键字来组合新关键字 结果报告和日志采用html格式 易于阅读 平台 应用无关 可以用于测试不同平台上的不同的应用 易于扩展 提供了简单的测试库API 用户可以使用Python或Java自定义测试库 易于集成到现有的构建工具 持续集成系统 提供了命令行接口和基于xml的输出文件 功能全面 支持SeleniumWeb测试 JavaGUI测试 运行进程 Telnet SSH等 支持创建数据驱动的测试用例 支持变量 提供标签以分类和选择将被执行的测试用例 易于与版本管理集成 测试套件是文件和目录 可以被版本管理系统管理 RF架构 官方 RF架构 我们的理解 标准库 BuiltIn 包含了常用的关键字 自动导入 Collections 包含了处理列表和字典的关键字 DateTime 支持创建和验证日期和时间 Dialogs 支持暂停测试执行 便于从用户获得输入 OperatingSystem 支持执行操作系统相关的各种任务 Process 支持执行系统进程 Remote 远程库接口 没有自己的关键字 Screenshot 提供捕获和存储桌面屏幕截图的关键字 String 操作字符串 验证字符串值的库Telnet 支持连接到Telnet服务器 执行Telnet命令 XML 验证和修改XML文件的库 针对不同应用的测试库 SeleniumLibrary Web自动化测试AutoItLibrary WindowsGUI自动化测试DatabaseLibrary 数据库测试HTTPRequestLibrary HTTP自动化测试AppiumLibrary 移动应用自动化测试详见 http robotframework org libraries 工具 内置工具 Rebot 生成基于XML输出的日志和报告Libdoc 生成测试库和资源文件的关键字文档Testdoc 生成基于RobotFramework测试用例的HTML文档 Tidy 清理和变更RobotFramework测试数据文件的格式 工具 编辑器工具 Ride 独立的RF编辑器Eclipseplugin RFEclipse插件RobotPluginforIntelliJIDEA RFIntelliJIDEA插件Notepad Notepad RF支持详见 http robotframework org tools 工具 构建工具 JenkinspluginMavenpluginAnttask详见 http robotframework org tools RobotFramework RF安装 安装Python 双击python 2 7 14 msi 安装Python 指定安装目录 安装Python 定制安装 将python exe增加到环境变量Path 注意到安装了pip Testsuite 安装RobotFramework 在命令行输入pipinstallrobotframework 安装RobotFramework 升级RF 在命令行输入 Python mpipinstall upgradepip 查看安装的RF版本 Pybot version 安装wxPython 在网址 wxPython安装结束 安装RIDE和RIDE的启动 安装 pipinstallrobotframework ride启动 cdc python27 scriptsPythonride py Ride的界面 安装Seleniumlibrary 在命令行输入 pipinstallrobotframework seleniumlibrary 查看pip命令pip help查看已安装包piplist RobotFramework RF示例演示 WebDemo是RF官方提供的一个RFSelenium测试示例 其中包含了一个用Python编写的简单的Web应用demoapp 下载WebDemo https bitbucket org robotframework webdemo downloads 解压文件WebDemo 20150901 zip 例如解压到c Python27 workspace输入如下命令 启动demoapp cdC Python27 workspace WebDemo demoappPythonserver py在浏览器网址输入 http localhost 7272 输入用户名 demo 密码 mode 可以登录成功 运行准备 需要以管理员身份运行IE 将所有四个区域的 启用保护模式 选项清除 否则WebDriver会报这个错误 确认IE没有设置proxy Ride中演示WebDemo 打开目录WebDemo File OpenDirectory浏览测试用例 在资源文件resource robot中修改导入的库为SeleniumLibrary根据情况修改变量 BROWSER 的值 火狐浏览器Firefox 谷歌浏览器Chrome IE浏览器internetexplorer将浏览器的驱动放在PATH指定的目录中 火狐浏览器geckodriver 谷歌浏览器chromedriver IE浏览器IEDriverServer执行测试 按F8查看测试报告和日志 点击Run页签中的Report或Log 创建测试项目 点击File NewProject 测试项目的类型可以是文件或目录 选择文件时 测试项目中只包含测试用例 选择目录时 测试项目可以包含测试套件和测试用例 建议选择目录类型 这样更便于组织测试用例 格式可以选robot txt tsv 或html格式 创建测试套件 右击测试项目 点击NewSuite测试套件也可以选择文件或目录类型 我们选择文件类型 创建测试用例 右击测试套件 点击NewTestCase新建两个测试用例valid login和invalid login 创建资源文件 右击测试项目 点击NewResource 我们可以在资源文件中导入测试库 定义一些常量 添加测试库 在资源文件编辑器中点击Library 还可以在测试项目或测试套件编辑器中添加测试库 测试库提供特定应用的关键词 增加常量 在资源文件编辑器中 点击ADDScalar 常量是有确定值的 WebDemo的资源文件中定义了如下的量 增加自定义关键字 右击资源文件 点击NewUserKeyword 输入关键字名称 用户关键字由一组标准关键字组成 编辑自定义关键字 在关键字编辑器中可以增加关键字 按F5可以搜索关键字 在测试套件中引用资源 测试用例中用到的资源需要在测试套件里直接引用 编辑测试用例 测试用例由关键字组成 执行测试 点击Run页签中的Start或按F8键 查看测试日志 点击Run页签中的Log 测试报告 点击Run页签中的Report 使用selenium2Library selenium2Library SeleniumLibrary将webdriver与robotframework连接起来selenium2Library提供了非常多的内置关键词 浏览器操作的关键词 OpenBrowserMaximizeBrowserWindowGoToGoBackReloadPageCloseWindowCloseBrowserCloseAllBrowsers 其他常用关键词 点击ClickButton locatorClickElement locatorClickImage locatorClickLink locatorDoubleClickElement locator输入InputPassword locator textInputText locator text 定位元素 Locator可以用id或name定位界面元素也可以使用XPath或Dom 但是 必须用XPath 或Dom 来开头最好使用id来定位 强烈建议强制要求开发为所有需要交互的界面元素设定id 所以 locator最好以id name identifier 定位元素 可以使用firefoxfirebug或ie8来辅助定位 右击页面元素 点击查看元素 检查结果 验证页面是否包含相应结果PageShould Not ContainButtonPageShould Not ContainCheckboxPageShould Not ContainElementPageShould Not ContainImagePageShould Not ContainLinkPageShould Not ContainListPageShould Not ContainRadioButtonPageShould Not ContainTextfieldLocation Title LocationShouldBe LocationShouldContain TitleShouldBe 检查结果 验证页面是否包含相应结果Text CurrentFrameContains PageShouldContain PageShouldNotContain TextfieldValueShouldBeElement ElementShouldBeDisabled ElementShouldBeEnabled ElementShouldBeVisible ElementShouldContain ElementShouldNotBeVisible ElementTextShouldBe 检查结果 验证页面是否包含相应结果List ListSelectionShouldBe ListShouldHaveNoSelectionsCheckbox CheckboxShouldBeSelected CheckboxShouldNotBeSelectedRadioButton RadioButtonShouldBeSetTo RadioButtonShouldNotBeSelected 检查结果 验证页面是否包含相应结果 Table TableCellShouldContain TableColumnShouldContain TableFooterShouldContain TableHeaderShouldContain TableRowShouldContain TableShouldContain TextfieldShouldContain Xpath XpathShouldMatchXTimes 组织自动化测试用例 要做到流程和数据的分离 组织自动化测试用例 例子 组织自动化测试用例 不断抽象 消除冗余 组织自动化测试用例 组织自动化测试用例 测试用例简单易读 避免复杂逻辑 组织自动化测试用例 例子 组织自动化测试用例 测试用例分层展示 层层引用 组织自动化测试用例 使用变量 使用变量 设置TimeOut Suite和Test都可以设定Timeout 这限定了测试用例的最长执行时间 因此 需要预留合适的时间 否则 可能导致测试不稳定 其他功能 切换窗口confirm和alert处理模拟windows动作String和Collection支持 测试库HTTPlibrary Requests 安装pipinstall Urequestspipinstall Urobotframework requestspipinstallxlwt Jenkins简介 Jenkins是一个开源软件项目 是基于Java开发的一种持续集成 持续发布工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台 使软件的持续集成变成可能 持续集成是一种软件开发实践 即团队开发成员经常集成他们的工作 通过每个成员每天至少集成一次 也就意味着每天可能会发生多次集成 每次集成都通过自动化的构建 包括编译 发布 自动化测试 来验证 从而尽早地发现集成错误 Jenkins有哪些功能呢 1 定时拉取代码并编译2 静态代码分析3 定时打包发布测试版4 自定义额外的操作 如运行单元测试等5 出错提醒 Jenkins安装 WAR文件独立war文件方式 Jenkins war文件包含了内置的JavaServlet容器Jetty 从Jenkins官方网站https jenkins io 下载最新的war包 运行命令java jarJenkins war 需要JDK1 8 Jenkins将被安装到C Users lenovo jenkins lenovo是你登陆Windows7的帐号 如果需要指定安装目录 请先设置Windows环境变量JENKINS HOME 再运行命令 这时 Jenkins将被安装到 JENKINS HOME Web服务器部署方式 注1 将容器中的 var jenkins home目录映照到Docker卷jenkins data 如果卷jenkins data不存在 那么就创建该卷 也可以将宿主机的文件夹 HOME jenkins data映照到容器中的 var jenkins home 目的都是为了永久保存 var jenkins home中的文件 注2 HOME是Windows的文件夹C Users lenovo lenovo是你登陆Windows的帐号 注意不必设置环境变量HOME 将宿主机的 HOME路径映照到容器中的 home Dockerdockerrun rm d uroot p8080 8080 vjenkins data var jenkins home 注1 v var run d

温馨提示

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

评论

0/150

提交评论