如何将MonkeyRunner和Robotium结合起来使用(不要分开使用!)。
如何一起使用Monkeyrunner和Robotium(不单独!)测试我的Android应用 解决方案 好吧,我找到了这个 kharitonenko_yac_2012.pdf 幻灯片#22.有一个方案,如何使用机器人和蒙基纳的组合. 例如,在测试中,您需要从Android Native相机中拍摄快照,而Robotium无法做到这一点. Monkeyrunner可以做到.但是您在机器人中开发的大多数测试用例,因此,正如我所知,您可以为此操作运行Monkeyrunner脚本,然后继续使用Robotium.我是吗? 其他解决方案 在一般的monkeyrunner中,基于基于用户输入的通用建筑仪器.它不需要任何代码知识,也不需要对申请过程的任何访问. 机器人或浓缩咖啡是基于GoogleInsTrumentationTestrunner,该过程像您的应用程序一样在同一过程中运行,因此可以直接访问以查看组件,但也需要代码访问. 因此,总的来说,您可以使用机器人
0 2024-02-19
编程技术问答社区
按键事件点击安卓屏幕上的警报对话框
有什么方法可以使用ADB命令模拟Android对话框的" OK"或"取消"按钮? 解决方案 一种间接方式是: - adb shell uiautomator dump /data/view.xml adb shell cat /data/view.xml 从XML文件中给出的相对坐标中计算OK按钮坐标. 然后做 adb shell input tap 希望有效. 其他解决方案 使用 androidviewClient/culebra 您可以简单地做: > 运行java -jar androidviewclient-2.3.25.jar culebra --verbose --verbose-comments --find-views-with-text=true --output=myscript.py 编辑myscript.py并在最后添加vc.findViewWithTextOrRaise('Cancel').touch()(
2 2024-02-13
编程技术问答社区
不能让AndroidViewClient示例代码运行
androidViewClient "> androidViewClient 是一个github repo Monkeyrunner.我实际使用它遇到了麻烦. 注意:我正在使用Windows 在cmdline中,如果我输入: monkeyrunner test.py 和test.py包括: # Imports the monkeyrunner modules used by this program from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice # Connects to the current device, returning a MonkeyDevice object device = MonkeyRunner.waitForConnection() # Presses the Menu button device.press('KEYCODE_MENU', Monke
0 2024-02-11
编程技术问答社区
如何使用monkeyrunner和Android ViewClient点击包含指定文本的视图?
我正在尝试使用Monkey Runner和Android ViewClient模拟单击Android平板电脑.我想单击具有特定文本的区域/视图.这是我想做的示例: 我有一个脚本,我会导入monkeyrunner,monkeydevice,viewclient from com.dtmilano.android.viewclient import ViewClient from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 连接平板电脑并创建一个monkeydevice对象 device = MonkeyDevice.waitForConnection() 使用设备我创建一个Android ViewClient对象 vc = ViewClient(device) 我在平板电脑上打开设置应用程序 device.startActivity('com.android.settings/.Set
0 2024-02-11
编程技术问答社区
AndroidViewClient:内容不允许在尾部出现
我在家里的Windows Vista机器上通过git安装了AndroidViewClient,并设置了路径变量,然后运行了Check-Imports.py脚本,以确保一切正常.接下来,我尝试从/示例文件夹中运行settings.py脚本,并收到以下错误: C:\Users\Allen>monkeyrunner C:\Users\Allen\AndroidViewClient\AndroidViewClient\e xamples\settings.py 130615 22:24:56.666:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] Script terminated due to an exception 130615 22:24:56.666:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ]Traceback (most
0 2024-02-11
编程技术问答社区
运行Monkey runner脚本时出现NoClassDefFoundError
我在应用程序中首次运行猴子跑步者脚本,但我得到了以下错误: D:\android softwares\AndroidSDK\tools>monkeyrunner.bat test1.py Exception in thread "main" java.lang.NoClassDefFoundError: com/android/chimpchat /ChimpChat at com.android.monkeyrunner.MonkeyRunnerStarter.(MonkeyRunnerStart er.java:60) at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter .java:188) Caused by: java.lang.ClassNotFoundException: com.android.chimpchat.ChimpChat
0 2024-02-10
编程技术问答社区
适用于多种设备的安卓猴子脚本
某些身体可以帮助我为多个设备进行Android Monkey测试吗? - > adb shell猴子-p com.example -v 500000 所以我在PC上连接了10个设备.我想为所有设备运行猴子测试并同时捕获日志. 任何人都可以建议我吗? 解决方案 使用这样的脚本: #! /bin/bash for s in s1 s2 s3 do adb -s $s shell monkey -p com.example -v 500000 > $s.log done 其中S1,S2,...是您的设备的序列号
0 2024-02-10
编程技术问答社区
AdbClient中 "type "命令之间的延迟(在monkeyrunner中并不存在)。
我正在从monkeyrunner转换为AndroidViewClient.很好,因为它都是Python.但是,在发布类型或按命令时,每个命令之间的滞后就像一秒钟: import sys import os import time try: sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src')) except: pass from com.dtmilano.android.adb.adbclient import AdbClient, Device device.type("hello") # type a space device.press('KEYCODE_SPACE', 'DOWN_AND_UP') device.type("world") Monkeyrunner中的上述代码实际上没有延迟"按"和"类型".为什么会产生此延迟?不是通过AD
0 2024-02-09
编程技术问答社区
如何使用MonkeyDevice.文书?
嗨,大家 我正在尝试从我的Monkeyrunner脚本运行我的测试仪器之一.不幸的是,我无法正常工作.我已经尝试调用Monkeydevice.Strument,具有不同的参数变化,但没有运气. 我尝试了 device = monkeyrunner.WaitforConnection() device.instrument(" android.test.instrumentationTestrunner") 设备. 设备. 设备. 这些都不是投掷和错误,但也没有运行测试.我可以通过开发工具或Android Junit测试来运行仪器,因此我知道它有效. 有人可以告诉我正确使用此方法的正确吗?谢谢. 解决方案 您可能正在使用错误的参数.我命名为instrumentation.mr的脚本可以帮助您使用正确的脚本. 使用目标软件包名称调用它. #! /usr/bin/env monkeyrunner import sys from com.android.mon
2 2024-02-07
编程技术问答社区
monkeyrunner和EndCall
我正在使用monkeyrunner播放用户活动的模拟. 一切都很好,但我不能按EndCall. 要打电话我使用: device.touch(190, 800, 'DOWN_AND_UP') x,y呼叫按钮的坐标. 但是当我尝试挂起时,我会尝试: device.touch(230, 700, 'DOWN_AND_UP') x,y-因此,端呼叫按钮的协调. 什么都没有发生. device.press('KEYCODE_ENDCALL', 'DOWN_AND_UP') 相同的效果.现在尝试发送意图,但不知道要使用哪种意图来终结. 我的设备在Android 2.2.1. 上运行 谢谢. 解决方案 这在2.3和WVGA的模拟器上起作用: #! /usr/bin/env monkeyrunner from com.android.monkeyrunner import MonkeyRunner def main(): print "w
0 2024-02-06
编程技术问答社区
为什么MonkeyRunner.waitForConnection()在我的环境中不起作用?
脚本: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice device = MonkeyRunner.waitForConnection(5,'192.168.6.60:5555') device.installPackage('Douban_Radio.apk') 在运行之前: ~/android-sdk-linux_86/tools$adb connect 192.168.6.60:5555 connected to 192.168.6.60:5555 ~/android-sdk-linux_86/tools$adb devices List of devices attached 192.168.6.60:5555 device monkeyrunner的输出: ~/android-sdk-linux_86/tools$./monkeyrunner monkeyrunner
4 2024-02-06
编程技术问答社区
如何确定软键盘是否显示在屏幕上--在使用monkeyrunner时
我试图使用monkeyrunner(使用AndroidViewClient) 自动化几下屏幕点击和条目 每当屏幕上有iDittext时,软键盘就会弹出,如果我想按下一个按钮findViewByid(假设此特定按钮在软键盘后面)会失败.它没有单击此按钮,而是单击软键盘中的某个按钮.因此,作为解决的工作,我需要通过Monkey Runner向后按键,以隐藏软键盘. 我的问题是如何确定从Monkeyrunner跑步时屏幕上是否显示软键盘. 当我查看logcat时,我会在显示软键盘 的同时看到以下内容. I/SurfaceFlinger( 2045): id=143(28) createSurf 0x4326743c (720x593),1 flag=0, InputMethod 并在删除软键时显示此此事 I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=4 MapSz=3 I/SurfaceFlinge
0 2024-02-06
编程技术问答社区
在安卓系统上模拟的触摸、滑动或拖动事件不工作
阅读帖子后,我想出了如何模拟触摸事件的方式: ADB外壳输入点击100 100 我已经安装了魔术标记,以查看是否绘制任何内容,什么也不会出现. 我还尝试了monkeyrunner/androidViewClient touch函数: device.touch(100,100,'down_and_up'); 我针对AndroidViewClient的整个代码: #! /usr/bin/env python # -*- coding: utf-8 -*- import getopt, sys import os # Add android to path becayuse it seems to not appear on windows sys.path.append("D:/Dev/adt-bundle-windows-x86_64-20131030/sdk/tools") sys.path.append("D:/Dev/adt-bundle-w
4 2024-02-05
编程技术问答社区
使用 monkeyrunner startActivity 的问题
我已经在线阅读了几篇文章,包括Android Dev网站我无法通过起始攻击方法开始活动.我尝试了几种选择.这是一个示例代码: package = 'com.mydomain.mypackage' activity = '.MyActivity' runComponent = package + '/' + activity device.startActivity(component=runComponent) 还尝试了以下代码: package = 'com.mydomain.mypackage' activity = 'com.mydomain.mypackage.MyActivity' runComponent = package + '/' + activity device.startActivity(component=runComponent) 但是,似乎没有什么能启动这项活动.我希望货币工具开始活动,这意味着我应该能够看到屏幕. 任何帮助应不胜感
0 2024-02-05
编程技术问答社区
如何在多个设备上同时运行Monkeyrunner脚本
我正在尝试在多个设备上运行monkeyrunner脚本来执行一些基本操作.我发现我将开始编写脚本以在两个连接的设备中执行基本操作. from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice import time import sys import time devices = os.popen('adb devices').read().strip().split('\n')[1:] device1 = MonkeyRunner.waitForConnection( devices[0].split('\t')[0]) package = 'com.android.browser' activity = 'com.android.browser.BrowserActivity' runComponent = package + '/' + activ
0 2024-02-04
编程技术问答社区
如何使用MonkeyRunner将一个Extra传递给一个Android意图?
我正在尝试使用device = MonkeyRunner.waitForConnection() device.wake() extra = {'MY_EXTRA', True} device.startActivity(component="org.mycompany.myapp/.activity.Show",extras=extra) 但是,当我检查应用程序中的意图时,我不会获得通过的值: boolean myExtra = i.getBooleanExtra("MY_EXTRA", false); 我想念什么?我的意图是否错了?我是否检查了Android应用程序中的值? 解决方案 这是MonkeyRunner中的错误.它无法正确处理将boolean>转入附加功能.如果您通过字符串,它应该可以工作. this 解决此问题.
2 2024-02-04
编程技术问答社区
如何继承MonkeyDevice?
我想扩展Monkeyrunner API的Monkeydevice类. 我的派生课看起来像这样. from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner class TestDevice(MonkeyDevice): def __init__(self, serial=None): MonkeyDevice.__init__(self) self = MonkeyRunner.waitForConnection(deviceId=serial) self.serial = serial 当我从另一个模块打电话test_dev = TestDevice(serial)时,我会收到以下错误: test_dev = TestDevice(serial) TypeError: _new_impl(): 1st arg can't be coe
2 2024-02-03
编程技术问答社区
如何用ADB判断屏幕是否开启
我希望找出是否可以使用ADB确定屏幕是否在Android设备上打开.我需要知道我试图使用猴子跑步者进行的一些测试.我可以输入一个shell命令,因此包括作为猴子跑步者命令的一部分,它将确定地告诉我屏幕是否打开或关闭? 解决方案 在进行一些测试时,我发现使用adb shell dumpsys power | grep mScreenOn将在具有4.2+ 的版本编号的设备上使用 我发现在我已经测试的所有设备上都使用的命令是使用: adb shell dumpsys input_method | grep mScreenOn 会产生类似的东西: mSystemReady=true mScreenOn=true 您可以用来确定屏幕是否打开. 在2.2-4.4.2范围内的所有Android模拟器,三星Galaxy SII(4.0.4),三星Galaxy Tab 8.9(4.0.4)和CM11 的Nexus 4中测试. 也值得一提的是,在4.2个设备上,您
2 2024-02-03
编程技术问答社区
Android's monkeyrunner的help.py在哪里?
我只是找不到help.py文件,以创建monkeyrunner的API参考.命令在 android参考 monkeyrunner help.py 我打电话monkeyrunner html help.py /path/to/place/the/doc.html时不起作用. 很明显,找不到help.py文件,而monkeyrunner也告诉我"无法打开指定的脚本文件".但是我的系统上的一个locate并没有给我带来help.py文件,该文件与nekyrunner或android有关. 所以我的问题是:他们在哪里隐藏了help.py文件以创建API参考? 解决方案 我也找不到.但是,可以假设它只是将nonkeyrunner.help()命名为参数.如果您只想快速使用此脚本,我也创建了 help.py.py.py : #!/usr/bin/env python # Imports the monkeyrunner modules
0 2024-02-03
编程技术问答社区