多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Android monkeyrunner自动化测试

更新时间:2022-05-12 09:30:32 作者:多测师 浏览:108

  monkeyrunner测试主要是通过编写一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。由于SDK是旧版本,暂时无法获取自定义屏幕上的组件焦点,所以通过截取屏幕的方式获取组件的位置坐标,然后利用触摸的方式点击组件。

Android monkeyrunner自动化测试

  关于monkeyrunner自动化测试网上的例子太多了,而且都是转载的,基本上都是对官方文档的翻译,所以遇到很多问题都无法解决。下面附上一些简单的例子。

  #导入程序测试所需要的模块

  from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

  #连接当前对象,返回一个MonkeyDevice对象

  device = MonkeyRunner.waitForConnection()

  #安装所要测试的android应用程序或测试包

  device.installPackage('*******.apk')

  #运行指定的Activity

  device.startActivity(component='com.mzba.test.TestActivity')

  #触摸自动登录复选框

  device.touch(222,388,'DOWN_AND_UP')

  #触摸记住密码复选框

  device.touch(37,421,'DOWN_AND_UP')

  #触摸登录按钮

  device.touch(271,475,'DOWN_AND_UP')

  #测试暂停3秒钟

  MonkeyRunner.sleep(3.0)

  #截取屏幕截图

  result = device.takeSnapshot()

  #将截图保存至文件

  result.writeToFile('login.png','png')

  不过更新了sdk以后,发现press方法无法使用了,报错如下:

  device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP') TypeError: press: The 3rd argument is required

  所以要换成另一种方法:

  device.press('KEYCODE_DPAD_DOWN', MonkeyDevice.DOWN_AND_UP)

  更新了SDK的版本,增加了EasyMonkeyDevice的相关类,已经可以利用控件的id来进行交互。

  from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

  from com.android.monkeyrunner.easy import EasyMonkeyDevice

  from com.android.monkeyrunner.easy import By

  device = MonkeyRunner.waitForConnection()

  easy_device = EasyMonkeyDevice(device)

  easy_device.startActivity(component='com.xuanwu.etion/.SplashActivity')

  #输入用户名

  device.type('mzba')

  #触摸密码框,相当于获取焦点

  easy_device.touch(By.id('id/login_edit_pwd'), MonkeyDevice.DOWN_AND_UP)

  #输入密码

  device.type('888888')

  #按下返回键,相当于关闭输入法的弹出框

  device.press('KEYCODE_BACK', MonkeyDevice.DOWN_AND_UP)

  #easy_device.touch(By.id('id/login_edit_account'), MonkeyDevice.DOWN_AND_UP)

  #点击登录按钮

  easy_device.touch(By.id('id/login_btn'), MonkeyDevice.DOWN_AND_UP)

  以上内容为大家介绍了Android monkeyrunner自动化测试,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部