首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通用猴运行脚本

通用猴运行脚本
EN

Stack Overflow用户
提问于 2015-07-15 03:34:16
回答 1查看 1.5K关注 0票数 0

我有多个测试用例,对于这些测试用例,我有各自的monkeyrunner脚本。在我的例子中,当我记录事件序列的坐标时,它就变成了设备依赖程序。我有很大的问题,因为当我工作时,我没有得到相同的设备总是要测试,结果我最终为每个设备的脚本,这是大量的重新工作。我刚开始使用python,所以我想知道是否有一种方法可以将坐标保存在一个单独的文件中,而我的脚本是泛型的,在这里我可以创建多个坐标文件,以便使用相同的python代码运行。如何做到这一点

代码语言:javascript
复制
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)

例如,上面的代码是针对特定的设备坐标的,根据那个设备,我如何删除硬编码的坐标?

EN

回答 1

Stack Overflow用户

发布于 2015-07-15 14:13:03

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

例如,如果有可用的内容描述,您将得到以下内容

代码语言:javascript
复制
vc.findViewWithContentDescriptionOrRaise(u'''Story Album''').touch()

如果文本可用,您将拥有

代码语言:javascript
复制
self.vc.findViewWithTextOrRaise(u'Create a new contact').touch()

否则,将使用ids。

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31421044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档