0

「サブリミナル」の「SLTextField」を使ってテストを書いていますが、最近、本当に厄介な問題に遭遇しました。

テキスト フィールドを更新し、クリアし、再度更新するテストを作成しました。

何らかの理由で、「SLTextField」を使用して要素のテキストを変更すると、「SLTextFields」はタップ可能な要素ではないというエラーが一貫して表示されます。これは本当ですか?もしそうなら、「SLTextField」クラスを持つことのポイントは何ですか?

同じテスト コードを書き直して要素を「SLElement」として見つけ、その時点で要素をタップし、キーボード オブジェクトを開いて必要なテキストを入力できますが、サブリミナルの機能全体を回避しているように見えます。これを行うことで。

「SLTextField」の何が問題になっていますか?

コード:

SLTextField *textField = [SLTextField elementWithAccessibilityLabel:fieldName];
SLWaitUntilTrue([textField isTappable], DEFAULT_TIMEOUT);
textField.text = newValue;

上記のコードは、「textField」がタップ可能にならないことを示すエラーをスローします。または、以下のコードは完全に機能しますが、不必要に冗長であり、「SLTextField」が不要になっているようです。

コード:

SLElement *field = [SLElement elementWithAccessibilityLabel:fieldName];
[field tapAtActivationPoint];
//fill with text
SLKeyboard *kb = [SLKeyboard keyboard];
SLKeyboardKey *deleteKey = [SLKeyboardKey elementWithAccessibilityLabel:@"Delete"];
while(![field.value isEqualToString:@""]){
    [deleteKey touchAndHoldWithDuration:1.2];
}
[kb typeString:newValue];
SLKeyboardKey *doneKey = [SLKeyboardKey elementWithAccessibilityLabel:@"Next"];
if(![doneKey isValid]){
    doneKey = [SLKeyboardKey elementWithAccessibilityLabel:@"Done"];
}
[doneKey tap];
[kb hide];
4

1 に答える 1

3

TextField は TableViewCell 内にありますか? そして、これは iOS 7 で見られますか?

もしそうなら、https://github.com/inkling/Subliminal/pull/202 (2014 年 6 月 6 日にマージ) で修正された可能性があります。

于 2014-06-03T18:10:45.770 に答える