- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android UiAutomator TestLisenter
Android UiAutomator 自动化测报告保存于手机中
背景
Android UiAutomator1 执行默认用命令行运行,有很多同学想在
手机中直接运行。 但是如果你拿不到系统权限, 拿不到 root 权限,是
无法在手机中执行的。 另外在手机中执行还有一个问题, 那就是报告
要保存到手机中。如果解决这个问题呢?
Junit 3
的 TestLisenter可以
完美的解决这个问题。本文旨在介绍使用
TestLisenter 来保存报告,
并附上关键实现代码。
目录
Android UiAutomator TestLisenter 1
背景 1
一、 TestLisenter 介绍 2
二、 UiAutomator 增加 TestLisenter 3
三、 Monkey 脚本执行 UiAutomator 8
Monkey 基本脚本格式 8
Monkey 脚本执行用例 9
四、 自定义报告生成 9
编写 APK 整理报告 9
发送广播和 pull 报告 18
文章概要:
TestLisenter 介绍
UiAutomator 增加 TestLisenter
Monkey 脚本执行 UiAutomator
自定义报告生成
一、 TestLisenter 介绍
1. TestLisenter
介绍
Java 设计模式:观察模式模式
定义: 在对象之间定义了一个一对多的依赖关系,
这样当一个对象改变了状态,
那么所有依
赖于它的对象都会自动收到通知且更新。
目前 Junit 框架的 TestRunner 就以 TestListener 的身份注册到 TestResult。
2. TestLisenter 接口说明
接口
1
public void addError(Test test, Throwable t);
发生错误的时候被调用
接口
2
public void addFailure(Test test, AssertionFailedError t);
失败的时候被调用
接口
3
public void endTest(Test test);
测试结束时被调用
接口
4
public void startTest(Test test);
测试开始时被调用
3. TestResult 方法说明
方法
方法
1
2
public synchronized void addError(Test test, Throwable t)
新增一个错误到 ArrayList
public synchronized void addFailure(Test test, AssertionFailedError t)
新增一个失败到 ArrayList
方法 3 public synchronized void addListener(TestListener listener)
在一个 test 中注册一个监听器到 ArrayList,这个监听器就是 TestListener ,实现类是 TestRunner
方法 4 public synchronized void removeListener(TestListener listener)
从一个 test 中取消这个监听器
方法 5 private synchronized List cloneListeners()
克隆一批监听器
二、 UiAutomator 增加 TestLisenter
我们想实现以下功能
发生错误的时候:保存错误信息与截图
发生失败的时候:保存失败信息与截图
? 开始测试时候: 保存当前时间
? 开始测试时候: 保存结束时间
指定保存文件夹
以上这些功能, 我们可以借助 TestLisenter 与 TestResult 帮忙实现, 如何实现呢。 我们可以写一个类继承
代码实现:
---------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
package com.test;
public class TestCaseResult extends UiAutomatorT
文档评论(0)