这是我第一次使用xcode中的自动化仪器这个脚本适用于所有按钮点击,但是一个服务器连接。我不知道原因
这是我到目前为止尝试的脚本
today
以上脚本可以显示UIActivityIndicator,而不是在成功后移动到下一个控制器
我知道我必须有一个非常简单的观点。所以帮帮我
答案 0 :(得分:0)
UIAutomation试图让事情变得简单"轻松"对于开发人员来说,但这样做会让事情变得非常混乱。听起来您正在获取app.php
的引用,等待按钮出现,然后在该按钮上执行'Access' => App\Services\Permissions\Access::class,
。
我发现您已经考虑过与window
混淆,这与您的问题有关。超时系统允许您执行在任何理智系统中都不可能执行的操作:在元素存在之前获取对该元素的引用。我怀疑幕后,UIAutomation反复尝试获得你想要的引用 - 只要.tap()
允许。
所以,在你发布的例子中,这个"特征"是可能的。真的伤害了你
target.pushTimeout()
如果视图在2秒延迟期间发生变化怎么办?您对timeout
的引用可能无效,或者可能未指向您认为自己指向的对象。
我们在Illuminator framework中通过完全忘记超时系统来解决这个问题,并且只需手动重新评估给定的引用,直到它实际返回某些内容为止。我们称之为waitForChildExistence
,但功能基本如下:
var window=target.frontMostApp().mainWindow()
var appScroll=window.scrollViews()[0];
UIATarget.localTarget().delay(2);
appScroll.buttons()[1].tap();
对于存在临时进度对话框的情况,此代码将在成功返回所需元素之前等待它消失。