我有多个测试用例,对于这些测试用例,我有各自的monkeyrunner脚本。在我的例子中,当我记录事件序列的坐标时,它就变成了设备依赖程序。我有很大的问题,因为当我工作时,我没有得到相同的设备总是要测试,结果我最终为每个设备的脚本,这是大量的重新工作。我刚开始使用python,所以我想知道是否有一种方法可以将坐标保存在一个单独的文件中,而我的脚本是泛型的,在这里我可以创建多个坐标文件,以便使用相同的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)例如,上面的代码是针对特定的设备坐标的,根据那个设备,我如何删除硬编码的坐标?
发布于 2015-07-15 14:13:03
AndroidViewClient/culebra存在的众多原因之一正是为了解决您提到的问题。这些工具生成的单元测试和脚本在最大程度上与设备无关。
例如,如果有可用的内容描述,您将得到以下内容
vc.findViewWithContentDescriptionOrRaise(u'''Story Album''').touch()如果文本可用,您将拥有
self.vc.findViewWithTextOrRaise(u'Create a new contact').touch()否则,将使用ids。
self.vc.findViewByIdOrRaise("com.samsung.android.app.episodes:id/timeline_add_album_layout").touch()这个视频演示了在手机和平板电脑上运行相同测试的特性:http://dtmilano.blogspot.ca/2014/11/culebra-cross-device-application-tests.html
https://stackoverflow.com/questions/31421044
复制相似问题