我可以在我使用的mac中很好地创建并重播以下脚本。在很多mac中运行UIAutomation脚本?
var target = UIATarget.localTarget();
UIATarget.localTarget().delay(15);
target.frontMostApp().mainWindow().tableViews()[0].textFields()[0].tap();
当我在另一个mac上运行上述脚本时,它在第3行显示错误。 如下所示更改上述脚本的第三行后,它正在播放正常。
target.frontMostApp().mainWindow().tableViews()[1].textFields()[0].tap();
只是我已经改变了从0 tableview中的指数为1。我怎么能在多个 Mac系统实现这一目标?两个mac都有相同的xcode版本(xcode 5)和模拟器版本(6.1)以及mac版本。为什么Instruments要在不同的mac中以不同的方式使用脚本API?
如何在不更改脚本的情况下手动更改脚本名称?我想运行脚本原样,在另一个mac中没有将元素转换为其名称?在Xcode和模拟器中是否有选项自动生成元素名称的代码? –
当改变UI元素的顺序/位置会中断UI自动化测试时,我遇到了一个问题,因此我尝试将测试更改为使用名称而不是子元素索引。我不知道为什么你的结果在不同的Mac上会有所不同,但可能仍有一种方法可以在不使用名称的情况下解决此问题。 我认为Xcode会自动为元素生成名称(至少有一些元素会拥有它们,可能取决于元素类型/内容)。我使用了'target.frontMostApp()。mainWindow()。logElementTree();'打印当前元素名称。 –
是怎么回事?请给我,因为我已经给你50票:) :) –