1

目標

私はアプリをテストするために Cucumber で Frank を使用しています。私の目標は、可能な限り自動化することです。その一部は、シミュレーターをリセットした後、Accessibility Inspector をオンに戻すことです。

詳細

シミュレーターをリセットするには、core_frank_steps.rb ファイル (258 ~ 260 行目) のステップを使用します。

When /^I reset the simulator/ do
  simulator_reset_data
end

アクセシビリティ インスペクターは [設定] > [一般] > [アクセシビリティ] にあり、シミュレーターのそのページにある唯一のスイッチです。

質問

基本的に、シミュレーターをリセットした直後に Accessibility Inspector をオンに戻すスクリプトまたは何かを書くことはできますか? 私の他のすべてのステップはルビーで書かれているので、私はルビーを好みます

ありがとうございました

4

2 に答える 2

1

Accessibility Inspector が自動化にどのような目的を持っているかはわかりませんが、これが私の答えです。

Ruby は「iPhone Simulator」を直接操作することはできません。すべてのアクション (「リセット」など) は Apple Script を使用して実行されます。Apple Script は、ユーザーによるメニューのクリックをシミュレートします。

いくつかの例については、Frank HostScripting モジュール ソースにアクセスしてください。

のメニュー インデックスの変更

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および 2click行目は削除できます。「リセット」確認ダイアログを処理します)。

于 2013-08-18T11:51:44.070 に答える
0

翻訳に I18n を使用している可能性があります。I18n コードを localize.yml ファイルにコピーして、 ここにリンクを入力して修正する必要があります

于 2014-04-08T01:42:54.420 に答える