当前位置: 首页 > news >正文

软件站大数据营销专业

软件站,大数据营销专业,沧州做网站的专业公司,西安有哪些公司运行Espresso和UI Automator测试时要使用模拟器。国内手机的ROM大多进行过修改,可能加入很多限制,导致测试无法正常运行。 Espresso只支持一个活动内部交互行为的测试。跨越多个活动、多个应用的场景需要使用UI Automator。使用Espresso和UI Automator的…

运行Espresso和UI Automator测试时要使用模拟器。国内手机的ROM大多进行过修改,可能加入很多限制,导致测试无法正常运行。

Espresso只支持一个活动内部交互行为的测试。跨越多个活动、多个应用的场景需要使用UI Automator。使用Espresso和UI Automator的测试代码要保存在src/androidTest/目录下。在使用UI Automator时,首先要建立一个UiDevice对象。UiDevice对象表示一台设备。通过UiDevice你可以按下主页键、返回键,可以打开应用、选择界面上具有某个属性的控件等。

Listing 1: 获取UiDevice对象

val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())

Listing 2: 通过UiDevice启动应用

val context = InstrumentationRegistry.getInstrumentation().targetContext
val intent = context.packageManager.getLaunchIntentForPackage(packageName)?.apply {addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
}context.startActivity(intent)
device.wait(Until.hasObject(By.pkg(packageName).depth(0)), timeoutMillis)

Listing 3: 通过UiDevice模拟按下主页键、返回键

device.pressHome()
device.pressBack()

Listing 4: 通过UiDevice获取前台应用包名

device.currentPackageName

UiDevice提供了方法findObject(uiSelector: UiSelector):UiObject来获取界面上的某个控件。UiObject表示一个控件。UiSelector是选择控件的类。

Listing 5: 按资源id选择控件

device.findObject(UiSelector().resourceId("com.my.app:id/button_ok")

Listing 6: 按界面文字选择控件

device.findObject(UiSelector().text("click here"))

如果指定属性的控件不存在,findObject仍然会返回一个UiObject对象。此时UiObject.exists()返回false。通过UiObject可以模拟对控件的操作,比如点击click()、输入文字setText("hello, world!")等。在控件显示之前调用findObject将会得到一个exists() == false的UiObject对象。此时调用click()等方法将会引发异常。为避免此情况,可以调用UiDevice::wait或UiObject::waitForExists方法等待控件渲染完毕。

Listing 7: 使用UiDevice.wati等待控件渲染

device.wait(Until.hasObject(By.text(text)), timeoutMillis)
device.wait(Until.hasObject(By.res(packageName, "${packageName}:id/${resourceId}")), timeoutMillis)

对于RecyclerView这类的列表,可以使用UiCollection来选择其中的子元素控件。UiCollection的构造函数有一个UiSelector参数,这个参数用于选择容器(如RecyclerView)控件。通过UiCollection.getChild(UiSelector)可以获取子元素控件进行操作。从上面的介绍可以看出,UiDevice和UiObject是两个核心类,UiDevice可以对设备进行操作,UiObject可以对控件进行操作。

Table 1: UiDevice常用方法
方法说明
findObject(uiSelector):UiObject
freezeRotation()
isScreenOn()
pressBack()
pressHome()
pressMenu()
pressSearch()
setOrientationLandscape()
setOrientationLeft()
setOrientationNatural()
setOrientationPortrait()
setOrientationRight()
sleep()
takeScreenshot(storePath, scale, quality)
unfreezeRotation()
wait(condition, timeout)
wait(condition, timeout)
waitForIdle()
waitForIdle(timeout)
wakeUp()
Table 2: UiObject常用方法
方法说明
clearTextField()清除可编辑文字
click()点击
dragTo(uiObject,steps)拖拽
exists():Boolean判断存在
getChild(uiSelector):UiSelector选择子元素控件
getText()获取text属性
isCheckable():Boolean
isChecked():Boolean
isClickable():Boolean
isEnabled():Boolean
isFocusable():Boolean
isFocused():Boolean
isLongClickable():Boolean
isScrollable():Boolean
isSelected():Boolean
longClick()
performMultiPointerGesture(…)
performTwoPointerGesture(…)
setText(text)
swipeDown(steps)
swipeLeft(steps)
swipeRight(steps)
swipeUp(steps)
waitForExists(timeout)
waitUntilGone(timeout)
http://www.mmbaike.com/news/92444.html

相关文章:

  • 常州做网站多少钱网站建站开发
  • wordpress首页删除侧边栏上海搜索优化推广哪家强
  • 双语 网站 数据怎么做google官网入口下载
  • 惠州做网站开发东莞免费建站公司
  • 互联国际网站域名注册平台
  • 国外可以做推广的网站电商数据统计网站
  • godday网站建设网络广告营销有哪些
  • 购物类网站的设计特点简述seo的基本步骤
  • 我做微信淘宝客网站人工智能培训机构排名
  • 大型商城网站开发网址推荐
  • 手机网站开发视频教程网站seo主要是做什么的
  • 昆山外贸型网站制作网络营销外包网络推广
  • 网站网络投票建设步骤电脑优化系统的软件哪个好
  • 网站制作先学什么百度推广营销方案
  • 网站建设如何学生个人网页制作成品
  • 凡科网站可以做自适应的吗线下推广方式有哪些
  • 企业独立官方网站网址怎么做竞价推广出价多少合适
  • 衡水企业网站建设公司网站快速排名服务商
  • 衡阳网站设计公司友情链接大全
  • 做网站的心得网站关键词排名优化
  • 把excel做数据库分享成网站百度平台营销宝典
  • 网站后台管理系统下载外链是什么意思
  • 响应式网站做mip产品推广策划
  • 上海市建设协会网站网站设计说明
  • 类似聚划算的网站怎么建设东莞seo顾问
  • 高新网站制作哪家好seo分析工具有哪些
  • 公司网站怎样添加和修改内容上海百度推广优化公司
  • 拉萨做网站公司seo排名赚下载
  • seo是什么东西seo试用软件
  • 厦门网站建设培训学校怎样搭建一个网站