Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iOS自动化测试:按钮';仪器无法识别的标签_Javascript_Ios_Xcode_Instruments_Ios Ui Automation - Fatal编程技术网

Javascript iOS自动化测试:按钮';仪器无法识别的标签

Javascript iOS自动化测试:按钮';仪器无法识别的标签,javascript,ios,xcode,instruments,ios-ui-automation,Javascript,Ios,Xcode,Instruments,Ios Ui Automation,我目前正在为iOS应用程序开发一个自动化脚本(JavaScript)。我不是一个程序员,只是一个想寻找bug的测试人员 相关软件:Xcode、仪器 问题是:我的应用程序中有一些按钮没有名字,这对于自动化测试很重要,所以我在Xcode的可访问性字段中给了它们一个标签。 但仪器仍然无法识别按钮的名称 e、 g:我想要的,但不起作用: target.frontMostApp().mainWindow().scrollViews()[2].buttons()["Settings"].tap();

我目前正在为iOS应用程序开发一个自动化脚本(JavaScript)。我不是一个程序员,只是一个想寻找bug的测试人员

相关软件:Xcode、仪器

问题是:我的应用程序中有一些按钮没有名字,这对于自动化测试很重要,所以我在Xcode的可访问性字段中给了它们一个标签。 但仪器仍然无法识别按钮的名称

e、 g:我想要的,但不起作用:

target.frontMostApp().mainWindow().scrollViews()[2].buttons()["Settings"].tap();  
我不想要但有效的:

target.frontMostApp().mainWindow().scrollViews()[2].buttons()[1].tap();
这只是我遇到的许多情况之一。我选择了一个简单的,它可能看起来很琐碎,但其他一些确实有问题


知道如何解决这个问题吗?

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

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

有时需要几次尝试才能让事情运转起来

此外,如果在屏幕更改时应用动画,则需要延迟才能触发下一个GUI事件:

target.delay(1);
这会产生1秒的延迟,直到触发下一个事件


希望这有帮助

我也有同样的问题。期待着这个问题的答案……我还试图更新标识字段的标签。还是没什么。当我触摸图标时,画外音会显示“设置按钮”:/你好brainray,非常感谢你的回答。是的,我确实尝试过捕捉,但它没有显示正确的名称(只是一个数字),但它今天起作用了(是的,真的起作用了)。我用来写脚本的工具文件似乎已经损坏了。我在Instruments上创建了一个新会话,并导入了我的js脚本,它可以正常工作。谢谢你的滚动菜单提示和延迟器,这将非常有用。我也有很多仪器文件的问题。同时,我时不时地创建一个新的。显然他们的寿命不长。。