UIAutomationを使用して自動アプリケーションテストを実行する方法を理解しようとしていますので、JavaScriptインターフェイスから駆動できる温度変換アプリケーションを作成しました。ここではUIだ:UIAutomationでテキストフィールドの値を取得する
トップのテキストフィールドは、同様に、ボトムフィールドは、そのアクセシビリティラベルとして「華氏」があり、「摂氏」のアクセシビリティラベルを持っています。私はこのスクリプトを、それを駆動するようにしようとしている:
UIALogger.logStart("Test -40ºC == -40ºF");
var window = UIATarget.localTarget().frontMostApp().mainWindow();
var celsiusField = window.textFields()["Celsius"];
var fahrenheitField = window.textFields()["Fahrenheit"];
var convertButton = window.buttons()["Convert"];
celsiusField.setValue("-40");
convertButton.tap();
var fahrenheitValue = fahrenheitField.value();
if (fahrenheitValue == "-40.0") {
UIALogger.logPass("-40C == -40F");
} else {
UIALogger.logFail("-40C == " + fahrenheitValue + "F");
}
これは正しく「-40」に摂氏フィールドのテキストを設定し、ボタンをタップすると、アプリがに華氏フィールドにテキストを更新します「-40.0」。ただし、fahrenheitValue
の値は「華氏」(テキストフィールドの名前/ラベル)であるため、テストは失敗します。私はこれがタイミングの問題かもしれないのかどうか疑問に思ったので、タップの後に1秒間の遅れを入れて、行動を変えなかった。
テキストフィールドからテキストを取り出し、期待値と比較することは可能ですか?
これは答えのようです。プレースホルダーのテキストを削除しました。私はおそらくその上にバグをファイルする必要があります:) –