03-创建测试脚本框架
来源:互联网 发布:ui平面设计软件 编辑:程序博客网 时间:2024/05/16 05:47
PO模式测试脚本框架:
完善框架 补充用例
(1) 什么是PageObject?
简称PO,这是一个设计模式,其实设计模式就是代码的架构,一个整体的框架。例如mvc 就是模型-视图-控制的一个代码架构,mvp就是-模型-视图-主持 这样的一个架构。PageObject翻译过来就是页面对象的意思,就是把页面对象和逻辑操作分开。
(2) PageObject的好处
做UI自动化时定位特别依赖页面,一旦页面发生变更就不得不跟着去修改页面定位。
,假设你想对一个元素定位操作,你可能会编写下面的代码:
driver.findElement(By.id("comit")).click();
于是问题就出来了,这样代码冗余就高了。都写一块了,后期难维护。你有10个地方对这个元素做了这个操作,哪天这个控件的元素变了,你就不得不去修改10个地方。
那么po的好处就出来了,方便维护、减少代码冗余、逼格高
(3) 目录格式结构
- base //放封装好的基类(pageAppium、operationAppium、CaseAppium)
- cases //用例 (用例层:调用【opeartion】层实现用例)
- opeartion //放逻辑处理 (操作层:调用【pages】层模拟手工操作当前app页面控件的方法封装)
- pages //页面元素处理 (控件层:获取当前app页面控件的方法封装)
(4) base+pages+opeartion+cases包代码
写case时,使用UIAutomatorViewer获取每个界面的控件元素信息
给每个case添加断言
多个case时可以设置优先级
给每个case设置@Test注解
uiautomatorviewer在sdk的tool目录下,运行uiautomatorviewer.bat即可(可以右击发送快捷方式到桌面)。打开后的界面是这样的:
界面详解
open: 打开保存的截图文件
device screenshot: 获取当前界面所有控件内容
device screenshot with compressed hierarchy: 选择只获取界面中呈现在你面前的控件
save: 保存界面控件内容到文件
Expand All: 展开全部结点
Toggle naf nodes: 查看不能被uiautomator测试工具访问到的控件。这些控件只设置了有限的属性,所以导致uiautomator无法获取到这些控件。
搜索、上一个、下一个、清除搜索结果、搜索到的数量、坐标
(5) 运行case测试用例
使用Testng来执行测试用例
1.下载Testng
Android studio 添加依赖即可 ,在gradle的dependencies下面添加
(当前最新是6.9.6)
compile'org.testng:testng:6.9.6'
2.添加Testng插件
AndroidStudio已经默认添加了,在File-Setting-Plugins 搜索即可看到
3.使用Testng
新建一个测试类,新建方法,在方法上面添加注解即可
4.运行Testng
在测试的module的根目录下新建testng.xml,名字随你,内容正常即可。详细的内容配置可以看官网:http://testng.org/doc/documentation-main.html#testng-xml
右键,运行即可
(6) 输出报告
测试报告ReportNg
testng自身带有测试报告,但是内容难以观看理解,所以这里利用了ReportNg
1. 导入jar包
这个包是经过修改的,支持中文,放到测试的module的libs文件夹,右键add as library,不懂的看前面的文章。
再在gradle的dependencies里面添加两个包:
compile'com.google.inject:guice:4.1.0' compile'org.anarres.gradle:gradle-velocity-plugin:1.0.7'
2. 添加监听器
修改刚刚的testng_login.xml ,添加了listeners,再次运行这个xml,在module目录下就会看到有test-output测试报告的文件夹,有html和xml格式的
<?xml version="1.0" encoding="UTF-8"?><suitename="Suite" > <!--parallel="true" 并行--><testname="Test" > <classes><classname="com.example.cases.Login" /> </classes><listeners><listenerclass-name="org.uncommons.reportng.HTMLReporter" /> <listenerclass-name="org.uncommons.reportng.JUnitXMLReporter" /> </listeners></test><!--Test--></suite><!--Suite-->
3. 查看测试报告
在index.html右击选择浏览器打开
封装和demo打包下载: http://download.csdn.net/detail/niubitianping/9647551
阅读全文
0 0
- 03-创建测试脚本框架
- LoadRunner创建测试脚本
- openstack 创建快照脚本测试
- 02-创建测试脚本项目
- Yii框架模拟运行脚本步骤测试
- 一个shell脚本写的测试框架
- LoadRunner创建测试脚本(转)
- MySQL查询测试环境创建脚本
- opensips压力测试创建用户脚本
- JMeter接口测试实战-创建JMeter脚本
- openstack 创建实例脚本测试,创建实例api
- opentack 创建卷脚本测试,创建卷api
- 创建MyBatis基础框架和测试
- 基于Lua脚本的自动化测试框架设计
- 使用脚本设计自动化测试框架的原则
- 使用脚本设计自动化测试框架的原则
- TestNG进行接口测试,脚本及可维护性框架
- 基于Lua脚本的自动化测试框架设计
- 凸包的形成(C++双向循环链表描述)
- POJ 1185
- C#Arraylist集合的方法
- mysql开发技巧2
- 使用 Java 测试网络连通性的几种方法
- 03-创建测试脚本框架
- 性能杀手—伪共享
- 激活函数(relu,prelu,elu,+BN)对比on cifar10
- 20171030
- LeetCode之两数之和
- javah提示找不到类文件
- [DFS] POJ 1426
- Java集合类
- 20171030