1

IntelliJ で Appium 1.4.13、java-client-3.3.0.jar、selenium スタンドアロン サーバー 2.48.2 を使用しています。

ナンバーピッカーであるUIATextFieldに値を入力したいです。チュートリアルを読んだところ、次のように提案されました。

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("abcdef");

しかし、これは機能しませんでした: iOS からネイティブの numberpicker を開いただけです

もう 1 つの提案は、Java クライアント 2.2.0 に setValue を使用することです。

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).setValue("abcdef");

しかし、setValue メソッドはもうありません。

したがって、以下のような回避策があり、機能します。

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).click;
iosDriver.scrollToExact("abcdef");
//click confirm

私の質問:

  • setValue と sendKeyEvents はもう利用できませんか?
  • 値を入力して確認するより良い方法はありますか?

ありがとう

これは、実行時にAppium Inspectorから取得したものです

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("170");

ここに画像の説明を入力

4

3 に答える 3

1

setValue は、IOSElement に対してのみ有効になるように変更されました。それに応じて要素をキャストすると、機能するはずです。元:(IOSElement) iosDriver.findElement(By.xpath("//UIATextField")).setValue("abcdef");

ソース: https://github.com/appium/java-client/blob/master/src/main/java/io/appium/java_client/ios/IOSElement.java

于 2016-03-01T17:24:10.260 に答える
0

appium 3.3.0 java-client を使用した最初のコードは、入力がわずかに間違っているだけで機能するはずです。数値ピッカーには、整数型の入力を取得するように定義された正規表現があるため、数値入力を送信してみてください。これを試してみてください。

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("12"); //sending an integer value
于 2016-03-01T17:08:28.720 に答える
0

私は Xamrin アプリに取り組んでおり、Appium iOS ドライバーは @iOSXCUITFindBy を使用して UIATextField にキーを送信できませんでした。Android でも同じ機能が正常に機能していました。

最初にクリックするように機能を変更しました。これにより、webview にユーザー名とパスワードを入力することができました。

public void enterUsername(String userName)

        {
            this.userName.click();
            this.userName.sendKeys(userName);
        }
于 2021-03-01T17:36:42.120 に答える