摘要: 整体流程: 下面主要是阐述这一块 1.接口自动化框架关键代码-数据构造: 可desc 获取table最新的结构,转换成xml格式。做数据构造时遇到数据库变化,例如有必填的字段添加,框架都会读xml里面的默认值去构造。减少数据库 表变化对接口自动化影响 (1)更新数据库表结构,保存为List<Map< 阅读全文
posted @ 2017-01-21 21:32 q55091 阅读(630) 评论(0) 推荐(0) 编辑
摘要: (1)看monkey就要看它底层如何触发操作,下面列举了几个send MotionEvent 的方法。 我们可以看到包括monkey和一些自动化框架都是基于什么去操作页面的。 Send Event 1.Monkey 2.Instrumentation 3.Uiautomation (2)改造 1.保 阅读全文
posted @ 2017-01-21 21:30 q55091 阅读(766) 评论(2) 推荐(0) 编辑
摘要: 1.获取bug相关信息 2.获取搜索信息 阅读全文
posted @ 2017-01-21 21:29 q55091 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: 从testwather看自定义rule: 原理:实现一个statement,分别在指定位置回调对应的方法(start,success,fail,finish) 返回看statement是怎么生成的 在JUnit执行每个测试方法之前,methodBlock方法都会被调用,用于把该测试包装成一个Stat 阅读全文
posted @ 2017-01-21 21:12 q55091 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 美观的reprot是自动化不可少的一部分,哈哈 无论你用testng或者junit,只需要在onfailed,onsucess,onfinsh上回调生成报告的方法就可以了 http://extentreports.com/ 先看图: 1.初始化: 2.各个阶段的动作 beforeclass fail 阅读全文
posted @ 2017-01-21 21:11 q55091 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1.继承 MonitoringInstrumentation 2.build gradle 3.启动 am instrument -w -e class com.u2.zhaotang.uiautomator2test.testcase.RemoteDeviceTestCase#test01 com 阅读全文
posted @ 2017-01-21 21:10 q55091 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 首先启动的时候指定运行的类和方法 开始提取你指定的类和方法 如果有#号探测到,会调用addTestClass(String className, String methodName),把method加入测试类 看addSingleTestMethod是如何根据测试类clazz和它的一个方法创建一个j 阅读全文
posted @ 2017-01-21 21:09 q55091 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 自定义注解tester 在testcase中引用 在结果统计中应用 总结:为每个case都指定了tester,就是每个case都有对应的负责人,到时候出错了好找人啊。 其实还有很多其他的应用,大家可以想下 阅读全文
posted @ 2017-01-21 21:06 q55091 阅读(216) 评论(0) 推荐(0) 编辑
摘要: UiAutomation UiAutomation主要和AccessibilityService进行连接然后获取界面空间信息和注入事件,截图 获取界面空间信息: 注入事件: 截图: UiAutomatorBridge UiAutomatorBridge相当于UiAutomation的代理,进行获取界 阅读全文
posted @ 2017-01-21 21:06 q55091 阅读(1329) 评论(0) 推荐(0) 编辑
摘要: 继承testrunner实现runner 运行testrunner 应用 可以根据外部传入的值,来确定需要执行什么用例 例如-e priority p1 取出priority值,在addtestcase的时候只加入priority是P1的testcase 获取runner源码 阅读全文
posted @ 2017-01-21 21:05 q55091 阅读(204) 评论(0) 推荐(0) 编辑