UiAutomator Android 的自动测试框架(基础)「建议收藏」

UiAutomator Android 的自动测试框架(基础)「建议收藏」</pre>很久没更新博客了,今天至后期的一段时间将带给大家的是<spanstyle=”font-family:微软雅黑;font-size:14px;line-height:21px;widows:auto;”>UiAutomatorandroid的自动测试框架,一系列的介绍,希望大家喜欢。</span><p></p…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

 

</pre>很久没更新博客了,今天至后期的一段时间将带给大家的是<span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;">UiAutomator android的自动测试框架,一系列的介绍,希望大家喜欢。</span><p></p><p><span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;"><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">采用uiautomator编写的自动化测试工具则可以实现基于UiSelector选择直接操作uiObject来编写</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">基于属性操作具备移植性的测试</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">。它有个弱点就是<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">在于都是</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">基于像素位置操作,不具备移植性,</span></span></span></p><p><span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;"><span style="font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: Arial; font-size: 14px; line-height: 26px;"></span></span></span></p><p style="font-family: Arial; font-size: 14px; line-height: 26px;"><span style="color:#ff0000;">注:</span></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">android官方给出的版本条件如下,若低于这些版本请先下载新版本</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"><strong>Android SDK Tools, Revision 21 or higherAndroid SDK Platform, API 16 or higher</strong></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">在开始测试前请先配置好你的环境变量(环境变量的搭建请大家百度),java JDK请使用1.7</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">本次的说明主要是在eclipse开发工具中讲解</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">我们首先打开eclipse创建以个java项目,记住是java项目,创建自己的包名,创建libs文件夹,用于存放我们的jar包,用到的jar包<img src="https://img-blog.csdnimg.cn/2022010617435544548.png" alt="" /></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">   <strong>他在文件的</strong></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"><img src="https://img-blog.csdnimg.cn/2022010617435518804.png" style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;" alt="" /></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">上图我用的是android 19包下面的jar包,将jar包拷贝到libs文件夹中,并且将jar包导入到项目中,</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">下面我们将开始进行编程了:</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">在包中创建Class(类) 我创建的类Test   他必须继承 UiAutomatorTestCase </p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">接下来就是创建方法,注意的是方法名必须是test开头,不要问我为什么,这是规矩,</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">如下面的代码</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"><strong></strong></p><pre name="code" class="java">public void testDemo() throws UiObjectNotFoundException
	{
		UiDevice.getInstance().pressHome();//点击home键
		UiObject browser=new UiObject(new UiSelector().text("互联网"));//找到浏览器
		browser.clickAndWaitForNewWindow();//点击浏览器
		UiObject edit=new UiObject(new UiSelector().className("android.widget.EditText"));//得到浏览器中的网页输入框
		edit.click();//点击输入框这样就能使光标在输入框上
		UiDevice.getInstance().pressDelete();//删除浏览框中的网址
		edit.setText("www.baidu.com");//设置我们想输入的网址
		UiDevice.getInstance().pressEnter();//回车进行浏览,在部分手机不支持回车浏览,可以使用上面的方式得到浏览按钮在点击进行浏览
		sleep(3000);
		
	}

代码中主要是实现找到手机自带的浏览器并且点击进入实现自动输入www.baidu.com,并进行浏览

 

在这里大家就会问怎么才能等到手机上面的浏览器已经手机上的输入框,下面将通过图解来给大家呈现:

在eclipse中有的图标如果没有请在
 

 

 

进行添加

 

当手机通过adb连接上电脑后再eclipse中就会出现如同:

 

选中我们的手机,我用的手机是samsumg 点击上图红框的图,就会出现如下图

 

鼠标在左侧移动式就有个红色的框框跟随你移动右面就会显示框框选中的app的属性,如,

通过上面的方式我们打开浏览器:

再继续找浏览器中输入网址的文本框如下图:

 

这样就能通过class来找到文本框,

完成上面的代码我们

我盟在dos命令窗体中输入android create uitest -project -n uidemo -t 1 -p E:\xingdun\Test 

为了方便大家我们可以在我们创建的java工程文件夹下面 我的工程文件在  

 

按住shifi 右键鼠标就会出现在“在此处打开命令窗口”

 

在命令窗口 android create uitest -project -n uidemo -t 1 -p E:\xingdun\Test

 

出现“added file  xxxxxxxx”表示成功

我们回到eclipse中刷新我们的项目就会出现  一个build.xml文件,

 

打开这个文件 将最上面的 default =“ help”修改成build ,保存,

 

run as  这个build ,不是项目

 

 

控制台出现如图表示成功

 

 

这时我们将我们的demo.jar  这里大家会问为什么是demo.jar  这里的demo.jar来源于build中的 <project name=”demo” default=”build”>  project name  

接下来就是将我们的demo.jar通过adb push到我们的手机中

 

成功将在命令窗口显示多少K,表示成功 

接下来就是开始运行我们的程序,运行程序我们可以继续通过adb来运行,

在命令窗体输入adb shell uiautomator runtest demo.jar -c com.test.Test点击回车这样就能看见我们的劳动成果了

说明  runtest demo.jar 中的demo.jar是我们复制到手机中的jar包, -c 后面的com.test.Test 是我们的项目包名+类名,由于我们的项目只有一个方法就直接

跟的包名+类名,其实最全面的写法是在包名后面还有跟#和方法名,有多少方法就直接#多少方法。

 

 

 

 

想要更多的编程学习资料,请关注微信公众号:IT010101

UiAutomator Android 的自动测试框架(基础)「建议收藏」

UiAutomator Android 的自动测试框架(基础)「建议收藏」

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180553.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • cocos2D(八)—- CCMenu &amp;&amp; CCMenuItem

    cocos2D(八)—- CCMenu &amp;&amp; CCMenuItem

    2021年12月31日
  • java中static的用法[通俗易懂]

    java中static的用法[通俗易懂]java中static的用法

  • 【Java】lamda表达式

    【Java】lamda表达式lamda表达式1.简介lamda表达式是java语言中函数式编程的一种形式。关于函数式编程,有一句话是这么介绍的,面向对象编程是对数据的抽象,而函数式编程是对行为的抽象。反映到函数的定义上,前者传参是一个对象,后者则是一个函数(对象)。lamda表达式承载了定义函数的方式。2.形式一种是直接定义,可以(a,b)->returna+b这种是直…

  • 参数从double转换到int,可能_python中int类型转化为float

    参数从double转换到int,可能_python中int类型转化为floattf.to_int32函数:tf.to_int32(x,name=’ToInt32′)函数参数:x:一个 Tensor、SparseTensor、list或ndarray name:操作的名称(可选)。函数返回值:tf.to_int32函数返回一个Tensor或SparseTensor,与x(类型为int32)具有相同的形状。例子:…

  • win10配置jdk环境变量[通俗易懂]

    win10配置jdk环境变量[通俗易懂]一、JDK安装包用的是JDK1.8解压包,百度云网盘地址:网盘地址提取码:qqs2二、配置详细过程开系统环境变量配置的页面。具体操作是:打开开始菜单,找到“控制面板”,点击系统在弹出的页面,选择“高级系统设置”选择环境变量在弹出的页面,系统变量区域,选择“新建”在新建页面,输入变量名“JAVA_HOME”;变量值“你的jdk的路径(请参照下图,找到你的安装路径)”,然后点击“确定”在系统变量区域,选择“新建”,输入变量名“CLASSPATH”;变量值:“.

  • java 哈希冲突

    java 哈希冲突问题一:什么是哈希冲突通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值。这时候就产生了哈希冲突。问题二:怎么解决哈希冲突开放地址法;再哈希法;链地址法(拉链法);公共溢出区法。开放地址法:开放地址法处理冲突的基本原则就是出现冲突后按照一定算法查找一个空位置存放…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号