自动化测试(一) PPT课件_第1页
自动化测试(一) PPT课件_第2页
自动化测试(一) PPT课件_第3页
自动化测试(一) PPT课件_第4页
自动化测试(一) PPT课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

内容摘要 自动化测试简介自动化测试类型自动化测试优势 劣势自动化测试适用范围自动化测试工具Selenium简介自动化测试框架 1 自动化测试简介 自动化测试是使用自动化测试工具或编写代码来替代手工测试的测试类型 自动化测试只是辅助手工测试 并不能完全替代手工 自动化更多的是去做验证型测试而非探索性测试 目的是将手工测试从重复的劳动中脱离出来 节约时间 人力成本 并且在新增一个功能时 可以对其相关所有功能做回归测试 提高软件的质量 2 敏捷测试与自动化测试 为什么引入自动化测试敏捷开发的最大特点是高速迭代 有周期性 并且能够及时 持续的响应客户的频繁反馈 伴随着频繁的迭代 测试人员需要频繁的重新进行测试 在此由于系统是不稳定的系统 也造成了测试的不稳定 我们不知道这次的故事是否会影响到系统的其他功能 在敏捷测试过程中 项目后期不会给予测试人员很多的集成测试时间 而且测试人员也无法在每次的迭代完成之后对之前的迭代进行回归测试 基于这一点 就需要自动化测试在每个迭代完成时对之前的迭代进行集成测试 3 自动化测试类型 UI自动化性能自动化接口自动化单元测试自动化 4 自动化测试优势 劣势 优势 节约人力 代码维护好 可自动执行节约时间 测试脚本可在晚上进行执行回归测试 提高软件质量代码可复用 5 自动化测试优势 劣势 劣势 代码维护成本高 对测试人员的要求高不易做探索性测试不适合频繁需求变更的项目 6 自动化测试适用范围 需求变更不频繁回归测试测试人员有一定的编码基础产品型项目 项目周期长重复工作量大 7 自动化测试工具 8 Selenium简介 Selenium是一款基于web应用程序的开源测试工具 Selenium测试直接运行在浏览器中 就像真正的用户在操作一样 它支持Firefox ie Chrome等众多浏览器 它同时支持JAVA C Ruby Python PHP Perl等众多的主流语言 9 Selenium简介 SeleniumCore JavaScriptFrameworkSeleniumCore是Selenium的核心部分 它由一些纯js代码组成 可以运行在windows linux的不同browser上 我们就是通过这些js代码 才可以实现程序对浏览器的控制 IDE Firefox插件IDE是在core的基础上的一种应用 通过UI实现类似QTP Winner的脚本录制回放功能 SeleniumIDE是通过监听用户对html页面的操作来录制脚本的 是真正能够监听用户对html页面的操作的录制工具 10 Selenium简介 RC RemoteControl SeleniumRC模式 是客户端利用各种编程语言 通过网络向SeleniumServer发送指令 SeleniumServer接收到测试指令后 启动浏览器并向其发出JavaScript调用实现对Html页面的全面追踪 并通过网络把执行结果返回给调用者SeleniumServer的实现原理是其打开浏览器时 把自己的JavaScript文件嵌入网页中 然后Selenium的网页通过frame嵌入目标网页 这样 就可以使用Selenium的JavaScript对象来控制目标网页 11 Selenium简介 WebDriverWebDriver启动目标浏览器 并绑定到指定端口 该启动的浏览器实例 做webdriver的remoteserver Client端通过CommandExcuter发送HTTPRequest给remoteserver的侦听端口 通信协议 thewebriverwireprotocol Remoteserver需要依赖原生的浏览器组件 如 IEDriver dll chromedriver exe 来转化转化浏览器的native调用 12 SeleniumRC与SeleniumWebdriver 13 Selenium安装 基于Python语言 下载并安装Pythonpython 2 7 10 msi配置python环境变量环境变量 Path变量值 C Python27下载setuptools python基础包工具 pythoneasy install py安装pippythonsetup pyinstall进入C Python27 ScriptsEasy install exepip 14 Selenium安装 基于Python语言 安装selenium进入C Python27 Scripts 执行pipinstall Uselenium安装java下载并安装selenium服务端selenium server standalone 2 39 0 jar在selenium server standalone 2 39 0 jar目录下执行 java jarselenium server standalone 2 39 0 jar安装Chromedriver把chromedriver exe放置到chrome安装目录下 并配置chromedriver exe环境变量 15 浏览器操作 设置最大化driver maximize window 设置浏览器大小driver set window size 宽 高 设置浏览器前进后退driver back driver forward 关闭浏览器driver quit 打开浏览器driver get 16 浏览器操作 17 对象定位 对象的定位和操作是自动化测试的核心部分 其中操作又是建立在定位的基础上 因此对象的定位又显得特别重要 对象的定位分为以下几种 IdNameClassnameTagnameLinktextXpath 部分浏览器会提供计算xpath的插件 firefox chrome Cssselector 18 对象定位 单个元素定位 Id定位 find element by id Name定位 find element by name Classname定位 find element by class name tagname定位 find element by tag name linktext定位 find element by link text find element by partial link text Xpath定位 find element by xpath cssselector定位 find element by css selector 19 对象定位 一组元素定位 Id定位 find elements by id Name定位 find elements by name Classname定位 find elements by class name tagname定位 find elements by tag name linktext定位 find elements by link text find elements by partial link text Xpath定位 find elements by xpath cssselector定位 find elements by css selector 20 对象定位 对象的定位要依据id name css xpath的顺序进行定位id name是最常用并且最容易的方式Css xpath往往会与id name配合使用Xpath是最脆弱的方式 units Servicescompones ui 21 对象定位 22 对象定位 23 对象定位 id 24 对象定位 name 25 对象定位 xpath 26 操作测试对象 清除元素内容Clear 模拟按键输入Send keys 单击元素Click 提交表单Submit 获取大小Size获取文本内容Text获取相关属性值get attribute name 查看对象是否可见is displayed 获取对象属性get attribute 27 鼠标事件 右击 context click 双击 double click 拖动 drag and drop source target 鼠标悬停 move to element 按下鼠标左键在一个元素上 click and hold 28 键盘事件 send keys Keys BACK SPACE 删除键 BackSpace send keys Keys SPACE 空格键 Space send keys Keys TAB 制表键 Tab send keys Keys ESCAPE 回退键 Esc send keys Keys ENTER 回车键 Enter send keys Keys CONTROL a 全选 Ctrl A send keys Keys CONTROL c 复制 Ctrl C send keys Keys CONTROL x 剪切 Ctrl X send keys Keys CONTROL v 粘贴 Ctrl V 29 设置等待时间 固定休眠时间Sleep 时间 超时等待 设置最长等待时间implicitly wait 时间 设置每隔一段时间内检测当前页面元素是否存在WebDriverWait driver 时间 until WebDriverWait driver 时间 until not 30 层级定位 元素有多层父元素 当定位子元素时需要先定位父元素 然后定位到子元素 driver find element by id find element by link text 界面中多个frame 多个frame处于父级子级关系 先找到父级的frame1 再找到子级的frame2 可通过frame的id及name进行定位 driver switch to frame frame1 driver switch to frame frame2 31 窗口处理 获取当前窗口current window handle获取所有窗口window handles切换窗口switch to window 待切换窗口 32 对话框处理 定位对话框alert driver switch to alert 获取对话框文本内容alert text 点击对话框确认按钮alert accept 点击对话框取消按钮alert dismiss 33 下拉框处理 test1test2test3test4test5test6 34 下拉框处理 例子 coding utf 8fromseleniumimportwebdriverimportos timedriver webdriver Chromefile path file os path abspath test html driver get file path time sleep 2 先定位到下拉框m driver find element by id optiontest 再点击下拉框下的选项m find element by xpath option value test2 click time sleep 1 driver quit 35 执行js文件 当遇到WebDriver无法完成的操作时 可以通过执行js文件来完成 方法 execute script js 36 cookie处理 获取所有cookie信息get cookies 获取制定cookie信息get cookies name 添加cookie信息add cookie name value 删除特定cookiedelete cookie name 删除所有cookiedelete all cookies 37 cookie处理 获取所有cookie信息get cookies 获取制定cookie信息get cookies name 添加cookie信息add cookie name value 删除特定cookiedelete cookie name 删除所有cookiedelete all cookies 38 验证码处理 去掉验证码设置万能验证码Python图片验证码获取 识别率不是百分之百 通过添加登录cookie通过挡板 39 断言处理 assert 验证失败了 测试终止Verify 验证失败了 其余测试案例继续执行Waitfor 待某一条件为True时测试案例执行 待某一条件为false时测试案例失败并暂停测试 40 断言处理 assertLocation 判断当前是在正确的页面 assertTitle 检查当前页面的title是否正确 assertValue 检查input的值 checkbox或radio 有值为 on 无为 off assertSelected 检查select的下拉菜单中选中是否正确 assertSelectedOptions 检查下拉菜单中的选项的是否正确 assertText 检查指定元素的文本 assertTextPresent 检查在当前给用户显示的页面上是否有出现指定的文本 assertTextNotP

温馨提示

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

评论

0/150

提交评论