如何使用Frank with Cucumber在iOS模拟器中自动启用辅助功能检查器

时间:2013-08-14 20:34:29

标签: ruby cucumber ios-simulator frank

目标

我正在使用Frank和Cucumber来测试应用程序,我的目标是让它尽可能自动化。部分原因是在重置模拟器后重新启用辅助功能检查器。

详细

要重置模拟器,我使用core_frank_steps.rb文件中的步骤(第258-260行):

When /^I reset the simulator/ do
  simulator_reset_data
end

可以在设置>中找到辅助功能检查器。一般>辅助功能,是模拟器中该页面上唯一的开关

问题

基本上,在重置模拟器后,是否有一个脚本或我可以编写的东西让Accessibility Inspector重新打开?我更喜欢ruby,因为我所有的其他步骤都是用ruby编写的

谢谢

2 个答案:

答案 0 :(得分:1)

我不确定Accessibility Inspector在您的自动化中有什么用途,但这是我的答案。

Ruby无法直接操作“iPhone模拟器”,每个操作(例如“重置”)都是使用Apple脚本执行的。 Apple Script模拟菜单上的用户点击。

有些例子,请转到Frank HostScripting module source

修改

中的菜单索引
def simulator_reset_data
  %x{osascript<<APPLESCRIPT
activate application "iPhone Simulator"
tell application "System Events"
  click menu item 5 of menu 1 of menu bar item 2 of menu bar 1 of process "#{Localize.t(:iphone_simulator)}"
  delay 0.5
  click button 2 of window 1 of process "#{Localize.t(:iphone_simulator)}"
end tell
  APPLESCRIPT} 
end

应该为您提供所需的结果(delay和第二click行可以删除,它们处理“重置”混淆对话框。)

答案 1 :(得分:0)

可能是您使用I18n进行翻译,您需要将I18n代码复制到localize.yml文件中 enter link here to fix it