已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
web 自动化测试解决方案模板篇一:开源 Web 自动化测试指南开源 WEB 自动化测试 实施指南 说明: 1. 本文件中“”中内容为举例和说明文字,请在文件拟制时替换或删除; 2. 若文中某章节内容可省略、不需要或适用,请保留该标题,并根据实际在内容部分写明“略” 、 “勿需”或“不适用”等,同时适当说明原因; 3. 请作者注意在文档右上角修改该文档的密级。 文件修订历史模板修订历史 目录1 引言与概述 . 4 背景 . 4 开源 WEB 自动化测试的优势 . 4 Selenium 简介 . 4 Selenium 的优势 . 4 2 开源 WEB 自动化测试架构 . 6 3 基于 SELENIUM 的自动化测试框架 . 6 新 WEB自动化测试代码架构 . 7 WEB 自动化测试编写 .8 集成开发环境搭建 . 8 选择底层实现方法 . 8 eclipse 配置 . 9 项目环境配置 . 10 测试案例编写 . 13 Selenese 语法 .14 XPath 介绍 .14 测试案例框架 . 16 4 管理测试案例 . 19 测试工程目录结构 . 19 使用 ANT 运行测试案例 .20 Ant 介绍 .20 Ant 基本语法 .20 输出测试报告样式 . 21 Ant Build .21 使用 JENKINS 管理自动化测试任务 . 22 Jenkins 介绍 .22 Jenkins 任务创建 .22 Jenkins 任务执行 .24 Jenkins 执行结果查看 .24 5 数据管理 . 25 自动化测试流程图 . 25 JDBC 连接数据库代码范例 . 26 数据回滚脚本 . 28 数据初始化脚本 . 28 配置文件管理 . 29 6 疑难手册 . 31 附录 ASELENIUM 常用命令 . 32 附录 B案例文件、配置文件 DEMO .32 附录 CCC 使用及培训资料 . 32 1 引言与概述 背景 目前 QTP 是我司使用最广泛的自动化测试工具,在实际使用中发现,QTP 存在以下不足之处: 1) QTP 基于测试对象库来识别测试对象,其内部机制是不透明的,在实际工作中,对 测试对象库的维护工作量很大,耗费了测试人员大量的精力,效果却并不好; 2) QTP 的设计架构决定了当前测试脚本可复用性差,很难积累可重复使用的函数、组 件、包等测试资产; 3) 使用 QTP 的描述性编程来创建测试脚本,严重依赖于测试人员的个人经验和技巧, 难以大规模推广; 4) 自动化测试数据经常失效,原因在于没有统一的数据回滚措施。 基于商业自动化测试工具 QTP 的录制/回放模式,无法构建健壮的自动化测试脚本,所以我们迫切地需要新的工具来替换 QT(来自: 小 龙 文档网:web 自动化测试解决方案模板)P。当前有多种开源自动化测试工具可供选择,Selenium 便是目前使用最广泛的开源测试工具之一。 开源 Web 自动化测试的优势 Selenium 简介 Selenium 是一系列基于 Web 的自动化测试工具。Selenium 提供了一系列测试函数用于支持 Web 自动化测试,这些函数非常灵活,他们能够通过多种方式定位 UI 元素,并将预期结果与系统实际表现相比较,测试人员通过这些测试函数来模拟用户操作,从而实现 Web 自动化测试。 Selenium 集成了 WebDriver API,解决了 Selenium 的局限,二者相互弥补,提供了更多可选的编程接口。 Selenium 的优势 QTP 的测试对象库,对与测试人员来说是不透明的。图 1-1 为构建 QTP 自动化测试脚本的流程,在使用 QTP 录制测试脚本的时候,测试人员根本不清楚测试对象库中的测试对 象是否有效,能否满足需求,这给使用者带来很大的困扰。 图 1-1 构建 QTP 自动化测试脚本的流程Selenium 具有很强的灵活性和很好的扩展性,测试人员从页面数据中提取对象,引入测试逻辑构建测试脚本。通过这样的方式,测试人员能够确保测试对象的有效性,对测试对象的维护也更容易。 图 1-2 构建 Selenium 自动化测试脚本的流程 对比 QTP 和构建自动化测试脚本的流程图,我们可以发现,Selenium 不再基于录制/回放模式来创建自动化测试脚本,弥补了 QTP 的不足: 1) 开源测试工具识别测试对象的机制是透明的,可以减少测试人员的维护工作量; 2) 采用开源测试工具,可以将需要重用的测试代码打包到 jar 中。后续计划引入配置 管理,保证可重用 jar 包的质量; 3) 采用 java 语言来编写测试脚本,在测试对象识别得到保证的前提下,这并不是一件 篇二:web 自动化测试框架介绍与使用 web 自动化测试框架介绍与使用 一、框架介绍篇 web 自动化测试框架是基于 selenium + maven + testng + github +Jenkins 搭建的,其中 selenium 用来编写测试用例,maven 用于项目的构建,testng 用于执行测试,相当于执行者,github 用于代码的托管,jenkins 用于持续集成。整个框架可实现用例的自动执行测试、失败的用例自动重试、失败的用例自动截图,加之整个框架集成了 jenkins,可使所有功能模块的测试用例定时并持续的集成下去。最后的测试报告可以通过 jenkins 邮件服务系统发送给相关人员。 在此着重介绍下 selenium,selenium是一个用于 Web 应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括 IE(7、8、9、10、 11)、Mozilla Firefox、Google Chrome 等。由于是JAVA 语言编写,所以具有跨平台性,支持 windows、Linux和 MAC OS 等。Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。 注:本框架中用到的工具都是开源的,不涉及到收费工具,故不需要担心版权问题。 二、目录解析篇 项目整体是一个 maven 项目,因为 maven 可以自动帮助我们构建项目、自动下载我们所需要的依赖(jar 包) ,只需要在文件下配置好相关数据即可。 ? src/test/java:maven 项目中存放测试代码的目录 ? com/incite/logistics:物流项目目录 ? base:里面有个用于初始化浏览器和结束浏览器的操作 ? pages:存放每个页面上的元素的 java 类(每个页面就是一个 java 类,里面存 放着声明此页面上要用到的所有元素) ? testcase:存放测试用例的目录,此目录下按照功能模块再细分目录(模块) , 每个子目录都是各个模块的测试用例 ? util:存放逻辑操作的代码目录,此目录下目前有2 个 java 类: 和 ? :顾名思义,这是一个浏览器选择的逻辑操作类 ? :包装了 selenium 所有常用的方法包括自定义的方法 ? com/netease/qa/testing:这个是网易的开发的一个基于 testng 的插件,名字叫做: arrow,此插件可以实现的功能有:用例失败自动重试、失败用例会自动截图,生成的测试报表比 testng 自带的更直观,自动去重结果(比如第一次用例跑失败了,但是经过第二次重试,用例成功执行,arrow 就会把第一轮失败的记录移除,保留第二次正确的测试记录)? config:存放 log4j 的配置文件()和 arrow 插件的配置文件 (),关于 log4j 的配置网上比比皆是,可以参考这里,这里介绍下 arrow 的配置: :testng 插件 arrow 的配置文件,内容如下: retrycount=n /定义重跑次数,就是用例跑失败之后,再跑 n(n 是正整数)遍 sourcecodedir=src/test/java/com/incito/logistics/testcase/ /指定测试用例的目录 sourcecodeencoding=UTF-8 /指定源码的字符编码 ? extral:存档驱动,类库和第三方脚本的目录 driver:存放不同平台下的不同位数不同浏览器的的driver lib:里面存放的备用 jar 包,比如有的 jar 包在maven 中央仓库找不到(自己编写的) ,就只能存档,便于以后直接导入使用 script:存放第三方的脚本辅助测试 ? result:存放测试结果的目录 log:存放 log4j 的输出日志,只有运行了测试用例才会生成 screenshot:存放失败的用例的网页截图 test-report:测试报告生成目录,以 HTML 的方式显示,如图所示,附上一份完整 的测试报表:测试报告.zip? :maven 的配置文件,项目核心配置,用于构建项目、自动下载项目依赖以及 后续的和 testng、jenkins 配合持续集成等 ? :这是 testng 的配置文件,用于存放部分测试数据以及测试的平台,浏览器 的配置、加入第三方插件监听(arrow 插件) 、设置用例执行策略(多线程还是单线程,顺序执行还是无序执行以及是否依赖执行等)以及设置要执行的用例。之所以改成 runAll 顾名思义就是说执行整个 web 项目的所有模块的用例的测试 ? :和一样,不多解释,不一样的地方就是用它来做单个用例的 调试改错,只涉及到单个的类(用例) ,所以调试改错专用。比如我用 跑完了所有的用例,但是发现个别用例失败,此时先去分析 log,如果是代码问题就去调试代码,调试完毕之后就去用去跑一边此用例。三、如何使用篇 注:下面所讲到的是基于 windows 平台 、安装配置 JDK 1. 下载安装 JDK 7(32bit), 2. 配置 jdk 环境变量, 、安装配置 Maven 1. 2. 3. 4. 5. 6. 下载 maven, 配置 maven 环境变量, 下载安装Eclipse(32bit), 解压刚才下载好的 Eclipse 到任意目录,双击打开 安装必须的插件 maven integration for eclipse 打开 Eclipse 菜单栏-Help-Eclipse Marketplace 如图: 7. 搜索” maven integration for eclipse”安装,如图,点击 install 安装会重启 Eclipse8. 重启之后在 Eclipse 菜单栏-Window-Preferences 点击打开,找到 maven 项,这个地地 方需要配置 2 个地方(如图): 一、 Installations,点击 Add,指向第三部中下载的maven 的目录,比如我的是 e:Devappachemaven(就是maven home 路径),指定成功以后 下图中的 Global Settings from installation diectory 会自动定位到maven 所在路径下的 conf/文件(是 maven 的设置配置文件,它可以指定本地仓库的存放路径、可以指定远程中央仓库的地址) ,在这里提供下我自己的 文件:已经配置了中央仓库为中国的服务器(开源中国的maven 仓库) 里面 二、User Settings: 用户设置(User Settings)这里会再次指定一个这里是相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南安阳邺城职业学院高职单招职业技能考试模拟试卷含答案详解(轻巧夺冠)
- 2024年乌江产业学院单招职业技能考试题库(精练)附答案详解
- 2024年湖南吉利汽车职业学院高职单招职业适应性测试考试模拟试卷及完整答案详解【各地真题】
- 2026年农业现代化创新技术发展报告
- 2025年江西卫生职业学院单招综合素质考试模拟试卷附答案详解(A卷)
- 2024年越溪河职业学院高职单招职业技能考试题库【考试直接用】附答案详解
- 2026年山东青年政治学院专科部高职单招职业适应性测试考试题库(考试直接用)附答案详解
- 人工智能决策透明度研究
- 交易系统算力调度策略
- 2026年农业现代化路径研究报告
- GB 28375-2025混凝土结构防火涂料
- 检验检查结果互认培训
- 《PLC应用项目工单实践教程》课件 模块2 S7-1500PLC位指令应用
- 术后肺部感染的预防及护理
- 《新能源乘用车二手车鉴定评估技术规范 第1部分:纯电动》
- 品管圈PDCA改善案例-降低住院患者跌倒发生率
- 工程造价咨询服务投标方案(技术方案)
- DL∕T 1708-2017 电力系统顺序控制技术规范
- 劳动教育视域下开展物理教学的实践与探索
- 2024届陕西省榆林市一中学分校物理八年级第二学期期末考试试题含解析
- 2024年国家电投招聘笔试参考题库含答案解析
评论
0/150
提交评论