我正在为我的应用程序进行自动化UI测试,并且在尝试设置运行测试环境时遇到了问题。该计划大致是这样的:在iOS模拟器上初次启动时关闭警报
- 构建应用程序
- 关机模拟器如果运行
- 删除模拟器做一个干净的安装
- 在模拟器上安装我的应用程序
- 运行UIAutomation测试
除了当仪器启动应用程序以执行测试时,一切正常,警报似乎询问是否用户允许通知。这一切都如预期,但我无法找到摆脱警报的方式。
事情我已经尝试:
- 创建onAlert在我的测试脚本中的第一件事情,如果它出现在我的警惕回调的情况下,定义
- 延迟目标由前5秒实际测试运行,即使之前的应用程序的UI是在模拟器
我也是通过上面所有的排列组合就可见可在SO被发现,我从来没有让我的onAlert调用的回调,不管是什么我做。所以,我想另一件事是:
- 尝试驳回警报使用AppleScript
我写的剧本:
tell application "System Events"
tell process "iOS Simulator"
set allUIElements to entire contents of window 1
repeat with anElement in allUIElements
try
log anElement
end try
end repeat
end tell
end tell
并显示:
static text “MyApp” Would Like to Send You Notifications of window iOS Simulator - iPhone 6 - iPhone 6/iOS 8.1 (12B411) of application process iOS Simulator
static text Notifications may include alerts, sounds, and icon badges. These can be configured in Settings. of window iOS Simulator - iPhone 6 - iPhone 6/iOS 8.1 (12B411) of application process iOS Simulator
UI element 3 of window iOS Simulator - iPhone 6 - iPhone 6/iOS 8.1 (12B411) of application process iOS Simulator
看起来像按钮放置在“UI元素3”中,但我无法从i中检索任何元素放弃它,更不用说点击它了。所以,我有无障碍经理检查:
它坐在那里,作为一个孩子,其他的人都通知的标题和消息。但是,当我去那个元素,突出显示它,我看到:
它认定为一般元素,它没有任何的孩子...... 有趣的是,当我选择在辅助功能检查OK按钮,我可以清楚地看到它的窗口的子窗口,但它永远不会上市:
可有人请阐明这是怎么回事一些轻?我怎样才能用Applescript按下那个按钮?