Android 通用monkey runner脚本

Android 通用monkey runner脚本,android,generics,automation,coordinates,monkeyrunner,Android,Generics,Automation,Coordinates,Monkeyrunner,我有多个测试用例,我有各自的monkeyrunner脚本。 我在monkeyrunner中遇到的问题是,在我的例子中,它变得依赖于设备,因为我记录了事件序列的坐标。我有一些主要的问题,比如当我工作的时候,我并没有总是得到相同的设备来测试,结果我为每个设备编写了脚本,这需要大量的重复工作。 我是python新手,所以我想知道是否有一种方法可以将坐标保存在一个单独的文件和我的脚本generic中,在这种方法中,我可以创建多个坐标文件以使用相同的python代码运行。 怎么做 print "Initi

我有多个测试用例,我有各自的monkeyrunner脚本。 我在monkeyrunner中遇到的问题是,在我的例子中,它变得依赖于设备,因为我记录了事件序列的坐标。我有一些主要的问题,比如当我工作的时候,我并没有总是得到相同的设备来测试,结果我为每个设备编写了脚本,这需要大量的重复工作。 我是python新手,所以我想知道是否有一种方法可以将坐标保存在一个单独的文件和我的脚本generic中,在这种方法中,我可以创建多个坐标文件以使用相同的python代码运行。 怎么做

print "Initiating Calling process"
device1.touch(688,1620,'DOWN_AND_UP')
MonkeyRunner.sleep(4)

#Dialer
print "Opening Dialer"
device1.touch(536,1694,'DOWN_AND_UP')
MonkeyRunner.sleep(2)
device1.touch(526,664,'DOWN_AND_UP')
MonkeyRunner.sleep(4)
device1.type(ph_nmber_1)


#Device 1 calling 
print "Calling from Device 1"
device1.touch(536,1562,'DOWN_AND_UP')
MonkeyRunner.sleep(4)
device1.touch(536,1562,'DOWN_AND_UP')
MonkeyRunner.sleep(8)
例如,上面的代码是针对一个特定的设备坐标是根据该设备如何删除硬编码的坐标

存在的众多原因之一正是为了解决您提到的问题。这些工具生成的单元测试和脚本在最大程度上与设备无关

例如,如果内容描述可用,您将有如下内容

vc.findViewWithContentDescriptionOrRaise(u'''Story Album''').touch()
如果文本可用,您将有

self.vc.findViewWithTextOrRaise(u'Create a new contact').touch()
否则,将使用
id
s

self.vc.findViewByIdOrRaise("com.samsung.android.app.episodes:id/timeline_add_album_layout").touch()
本视频演示了在手机和平板电脑上运行相同测试的功能: