0

1) UIATarget [name:(null)value:(null) NSRect: {{2.7520829e-39,2.0667855e-36},{0, 1.4012985e-45}}]

2) UIAApplication [name:tosh.0 value:(null) NSRect:{{0, 20}, {320, 460}}]

3) UIAWindow [name:(null) value:(null) NSRect: {{0, 0}, {320, 480}}]

4)....

5)....

3) UIAWindow [name:(null) value:(null) NSRect:{{0, 0}, {320, 480}}]

4) UIAAlert [name:(null) value:(null) NSRect:{{18, 180}, {284, 141}}]

5) UIAStaticText [name:Unable to connect value:(null) NSRect: {{30, 225}, {260, 21}}]

5) UIAButton [name:OK value:(null) NSRect: {{29, 262}, {262, 43}}]

请问如何在第二个 UIAWindow 上按“OK”。给出语法。

4

3 回答 3

6

如果出现警报,您的自动化脚本中的回调将被激活。如果您只是想以默认行为解除它,您应该像这样实现它:

UIATarget.onAlert = function onAlert(alert) 
{   
    return false; 
}

将通过返回 false 来解除警报。如果你想点击 OK 明确地实现它:

alert.buttons()["OK"].tap();
return true; // to bypass the default handler 
于 2011-03-15T10:27:31.630 回答
0

嘿。
但是你在使用 Instruments 和 UIAutomation 吗?从您的问题中不清楚您需要什么技术代码/语法。

对于 Instruments+UIAutomation+JavaScript,可以是这样的:

   UIATarget.localTarget().frontMostApp().alert().elements()[1].tap();

或者

   UIATarget.localTarget().frontMostApp().alert().defaultButton().tap();
于 2011-03-14T23:01:05.517 回答
0

如果要显示信息,只需使用不带任何按钮的 UIAlertView/UIView 并在几秒钟后将其隐藏。

于 2011-03-14T11:21:31.677 回答