问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MIUI 5支持android UI 测试工具uiautomator吗

发布网友 发布时间:2022-05-06 05:23

我来回答

1个回答

热心网友 时间:2022-06-29 15:36

Google在sdk4.0以后提供了一个自动化解决方案uiautomator:
优点:可以跨应用了;这可是亲生的;
缺点:必须sdk4.0以上版本;要想实现的好,最好有开发配合;java项目编译为jar后需要push到手机才能运行,也就是说必须打印日志暴力调试。
Appium基于Android InstrumentationFramework和UIAutomator,也就是说这个工具是可以跨应用的。说远了,好吧,为了帮大家更容易理解appium的使用,我这里就讲一下uiautomator的使用方法。
你应该有android-sdk吧,升级到4.0以上,进入目录android-sdk\tools,你会看到两个文件:
traceview.bat 和 uiautomatorviewer.bat,这俩文件让你想起了monkeyrunner了吧,是的,traceview.bat就对应于hierarchyviewer.bat,用来查看程序的ui界面的,通常也是使用管理员权限启动的。
好了,现在用eclipse创建一个java project,是的,你没看错,是java project不是android project,添加引用:

在project.properties中内容为:

# Project target.
target= android-16

这里的android-16需要和之前的android.jar和uiautomator.jar位置相一致。
然后呢?写代码吧,建立一个类,得,发个给大家参考:

package com.uia.example.my;
import org.apache.http.util.EncodingUtils ;
import android.graphics.Bitmap ;
import android.graphics.BitmapFactory ;
import android.graphics.Rect ;
import android.os.Environment;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiScrollable;
import com.android.uiautomator.core. UiSelector ;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class TAppWorkAssistV1 extends UiAutomatorTestCase {
public String sLog ;
public File fout = null ;
public FileOutputStream outStream = null ;
public void write2file(String filename,String sData)
{
String sLog= "" ;
// 初始化日志文件
if (Environment. getExternalStorageState ().equals(Environment.MEDIA_MOUNTED )){
sLog = Environment. getExternalStorageDirectory().getAbsolutePath();

try {
fout = new File(sLog,filename);
outStream = new FileOutputStream( fout , true ); // 此处的 true 是append
sData=sData + "\n" ;
outStream .write(sData.getBytes());
outStream .flush();
outStream .close();
fout = null ;
}
catch (Exception e){
e.printStackTrace();
}
} else {
System. out .println( " 该手机没有 SD 卡 " );
}
}
public void testDemo() throws UiObjectNotFoundException {
//1. 启动 app
getUiDevice().pressHome();
UiObject allAppsButton = new UiObject( newUiSelector().description( "Apps" ));
allAppsButton.clickAndWaitForNewWindow();

UiObject appsTab = new UiObject( new UiSelector().text( "Apps" ));
appsTab.click();
UiScrollable appViews = new UiScrollable( newUiSelector().scrollable( true ));

UiObject settingsApp = appViews.getChildByText( newUiSelector().className(android.widget.TextView. class .getName()), "Efilm" );
settingsApp.clickAndWaitForNewWindow();

//2. 进入主界面
System. out .println( "into main view" );
System. out .println(getUiDevice().waitForWindowUpdate("com.eshore.efilm" , 60000));
System. out .println( "intoed main view" );
UiObject tv1 = new UiObject( new UiSelector().text( " 影院 " ));
tv1.click();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 常用的安卓ui设计第三方工具有哪些?它们的优劣之处在于 android ui设计有相关的可视化工具吗 42岁女性买什么保险合适 42岁女买什么保险好 程维的共享出行野心:滴滴D1能走多远? 滴滴的一把手是柳青还是程维? 如何设置WINXP禁止改动桌面图标 公司电脑XP系统,被IT禁止修改桌面了 360 浏览器巨大的问题就是 总是卡死 每天卡死 我的电脑进入360浏览器时经常会卡死了,这是什么原因? winxp桌面被给成黑色且隐藏了图标如何改回来 如何解除屏蔽切换 XP系统控制面板里屏蔽了辅助功能选项?怎样才能调出来!! 你好 翻唱歌曲违法吗 XP 电脑桌面有些文件不小心给设置隐藏了,怎么弄回来?感觉是不小心按到了什么快捷键 我的winXP的系统“运行”功能和“网上邻居”被屏蔽了 怎么才能恢复出来 我想知道翻唱歌曲和改编歌曲是否侵犯版权 在网上发布一些,我个人改编的歌曲,犯法吗? XP系统中的显示桌面被我改成只读和隐藏,如何恢复! 改编歌曲但不用于商业目的,侵权吗? 因封高速高铁管家怎么给退汽车票 请问,有工具可以测试安卓app的图标大小、颜色、布局等UI方面的工具吗? 电视剧《内衣先生》徐萌萌的扮演者是谁? 《内衣先生》徐萌萌扮演者是谁? 徐萌萌是谁演的 《内衣先生》结局是什么? 网络红人徐萌萌是哪里人?积极年几月几日出生的? 空庭寂寞春欲晚演员徐萌萌演过什么电视 全国所有徐萌萌18到20 怎么看待《一路成年》中徐锦江父子的相处模式? 你怎么看《一路成年》获网友点评“好哭综艺”? 代号九耳犬徐萌萌是谁演的 徐萌萌最后和谁在一起了 徐萌萌傅约翰 徐萌萌这个名字怎么样 我觉的挺好男的女的都可以用 对吗 徐萌萌这个名字好听吗 我求表白的古诗词。她叫徐萌萌把她的名字加在里面 求末世女僵尸的脱线生活txt全本 求《末世女僵尸的脱线生活》,全文 末世女僵尸的脱线生活 中金知行(武汉)产业基金合伙企业(有限合伙)怎么样? 飞利浦42寸LED液晶电视有使用IPS面板吗?