2012-03-20 37 views
4

我目前正在为iOS应用程序开发自动化脚本(JavaScript)。我不是程序员,只是想要寻找错误的测试人员。iOS自动化测试:按钮的标签不被仪器识别

有关软件:Xcode,仪器

问题出在这里:我的应用程序中有没有名称的按钮,这对于自动化测试很重要,所以我在Xcode的Accessibility字段中给了他们一个标签。 但是乐器仍然不能识别按钮的名称。

例如:我想要什么,但不工作:

target.frontMostApp().mainWindow().scrollViews()[2].buttons()["Settings"].tap(); 

我不想要什么,但工程:

target.frontMostApp().mainWindow().scrollViews()[2].buttons()[1].tap(); 

这只是我已经很多情况下,一个遇到。我选择了一个简单的,它可能看起来微不足道,但其他一些确实有问题。

任何想法如何解决这个问题?

+0

我有同样的问题。期待这个答案... – 2012-03-21 09:38:15

+0

我也尝试更新标识字段的标签。依然没有。我添加了VoiceOver在触摸图标时显示“设置按钮”。 :/ – 2012-03-21 16:37:16

回答

0

您是通过键入来创建代码还是捕获代码?

如果您没有捕获它:您可以通过在JavaScript编辑器中使用该小记录按钮来实现。在捕获之后,Instruments向您显示代码,这将自动执行您“手动”操作。然后你可以发现,如果有不同的方法来按下按钮。通过这种方式,您可以了解如何触发按钮,而不必使用可访问属性设置我的GUI元素,因为这样我可以找出如何触发元素。

它有时需要一些尝试才能让事情运行。

enter image description here

此外,如果动画被施加时,屏幕是变化的,然后才能触发下一个GUI事件需要一个延迟:

target.delay(1); 

这产生1秒,直到延迟下一个事件被解雇。

希望这会有帮助

+0

你好,你好,非常感谢你的回答。是的,我确实试图捕捉,并没有显示正确的名称(只是一个数字),但它今天起作用(是的,真的有用)。看来我用来打开写入我的脚本的仪器文件已损坏。我在乐器上创建了一个新的会话并导入了我的js脚本,并且工作正常。谢谢你的滚动菜单提示和延时器,但它会非常有用。 – 2012-03-22 09:35:40

+0

我也有很多Instruments-files的问题。同时,我不时创建一个新的。显然他们没有长寿。 – brainray 2012-03-22 17:12:35