android 自动化测试 百度,Android 自动化测试框架-百度cafe

最近在学android的其余自动化测试框架和工具,整理下笔记java

一、框架或工具简介android

百度cafe:git

Cafe,A powerful test framework for Android named Case Automated Framework for Everyone.是一款来自百度QA部门的Android平台自动化测试框架,框架覆盖了Android自动化测试的各类需求,致力于实现跨进程测试、快速测试、深度测试,解决了Android自动化测试中的诸多难题,好比业界一直没有解决的跨进程测试问题。主要亮点以下:github

基于hook录制体系

遍历测试

跨app测试

pc agent设计

使用android漏洞提权

百度MTC:shell

MTC是录制回放客户端,为Android开发者提供的自动化脚本测试工具,基于控件进行录制回放操做,使得测试准确性更可靠。主要功能以下:app

录制脚本:既能够录制脚本又能够编辑脚本,支持单次录制多个脚本;

运行脚本:本地单机运行脚本,提供运行截图和运行日志;

提交至云测试:单次提交云端多机型回放,支持最多20min的脚本时长

二、安装和使用框架

c、启动eclipse,File->Import->Android->Existing Android Code Into Workspace导入被测工程工具

d、File->New->Project->Android->Android Test Project新建测试工程,输入测试工程名称,Select Test Target选择前面导入的被测工程

e、导入café.jar,测试工程右击,选择Build Path->Configure Build Path…,在libraries页面点击Add External JARs,导入b下载的café.jar

f、新建测试类,在测试工程->src->测试类存放的包上右击,选择New->Java->Junit->Junit Test Case,在Name中输入Test Case的名称,选择Setup(),tearDown()和Constructor,点击完成

g、或者直接使用MTC录制(工具的文件夹下有详细的使用说明文档),录制完成后直接生成Eclipse测试工程

三、编写代码

package gf.king.app.test;

import java.util.ArrayList;

import com.baidu.cafe.CafeTestCase;

import android.annotation.SuppressLint;

import android.content.Context;

import android.util.Log;

import android.view.View;

import android.view.inputmethod.InputMethodManager;

import android.widget.EditText;

import android.widget.TextView;

@SuppressWarnings("rawtypes")

public class Testcase extends CafeTestCase {

private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "gf.king.app.InitWindow";

private static final String TARGET_PACKAGE = "gf.king.app";

private static Class> launcherActivityClass;

static {

try {

launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);

} catch (ClassNotFoundException e) {

throw new RuntimeException(e);

}

}

@SuppressWarnings("unchecked")

public Testcase() {

super(TARGET_PACKAGE, launcherActivityClass);

}

@Override

protected void setUp() throws Exception {

super.setUp();

}

@Override

protected void tearDown() {

super.tearDown();

}

//编写测试用例, 运行case前须要开启cafe_setup.bat或cafe_setup.sh

@SuppressLint("NewApi")

public void test_NewCase_0() {

//输入字符

local.enterText(0, "Cafe");//0表示第一个文本框

//长按

local.clickLongInList(1);

local.clickLongOnText("Cafe");

local.clickLongOnScreen(100, 100);

//点击文字(任何控件上的文字)

local.clickOnText("Cafe");

//获取控件

local.getCurrentViews(Button.class);

//获取logcat

String[] logs = remote.getLog();

//获取电量

remote.getBatteryLevel();

//获取亮度

remote.getScreenBrightness();

................................

}

}

四、运行

PC链接模拟器或者设备,安装 Cafe.apk 、运行 cafe_setup.sh 或者 cafe_setup.bat(模拟器和设备没有安装和运行过的才须要),右击测试工程的测试类,选择Run As --> Run As Android JUnit Test运行;

或者使用adb命令,D:\TDDOWNLOAD\Android_SDK\platform-tools>adb shell am instrument -e class gf.king.app.test.Testcase(测试类所在的包名+类名) -w gf.king.app.test(测试工程的package)/com.baidu.cafe.CafeTestRunner

五、查看测试结果

在eclipse的junit面板和Androidshell中,能够清楚的看到运行结果

eclipse中的结果:

成功的

1e11e03237fd5811a57208c304eca21e.png

失败的

d0eca6e1965d30858cf3600b254c1dee.png

Android shell下的结果:

成功的

7bc871b62983ad3e4c47934a5622e124.png

失败的

0ed77377b19ee93254cb6a5b6a9175cf.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值