2017-12-15 4 views
0

オブジェクトの識別に奇妙な問題が発生しています。私は3つのフィールドのユーザー名、パスワードとログインボタンがあります。ユーザー名フィールドが認識され、データを入力することができます。しかし、Appiumは何に関係なく他の2つのフィールドを認識していません。私は助けが必要です。Appiumが要素を認識しない

enter image description here

public class LoginPageObjects { 

    @AndroidFindBy(uiAutomator = "new UiSelector().text(\" Employee ID or Email\")") 
    private AndroidElement username; 

    @AndroidFindBy(uiAutomator = "new UiSelector().text(\"Password\")") 
    private AndroidElement password; 

    @AndroidFindBy(uiAutomator = "new UiSelector().text(\"LOGIN\")") 
    private AndroidElement loginsubmit; 

    public AndroidElement getUsername() { 
     return username; 
    } 

    public AndroidElement getPassword() { 
     return password; 
    } 

    public AndroidElement getLoginsubmit() { 
     return loginsubmit; 
    } 
} 

パブリッククラスLoginPageFuncs LoginPageObjects {

private AndroidDriver driver; 

public LoginPageFuncs(AndroidDriver driver) { 
    this.driver = driver; 
    PageFactory.initElements(new AppiumFieldDecorator(driver), this); 
} 

public void doLogin(Map<String, String> table) throws InterruptedException { 
    getUsername().sendKeys(table.get("username")); 
    getPassword().sendKeys(table.get("password")); 
    getLoginsubmit().click(); 
} 

}

<dependencies> 
    <dependency> 
     <groupId>io.appium</groupId> 
     <artifactId>java-client</artifactId> 
     <version>5.0.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>3.8.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.13.1</version> 
    </dependency> 
</dependencies> 

答えて

0

は多分それが原因であなたが取得しようとしているテキストとスペースのだ拡張します。

これを試してみてください:

public class LoginPageObjects { 

    @AndroidFindBy(uiAutomator = "new UiSelector().textContains(\" Employee ID or Email\")") 
    private AndroidElement username; 

    @AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"Password\")") 
    private AndroidElement password; 

    @AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"LOGIN\")") 
    private AndroidElement loginsubmit; 

    public AndroidElement getUsername() { 
     return username; 
    } 

    public AndroidElement getPassword() { 
     return password; 
    } 

    public AndroidElement getLoginsubmit() { 
     return loginsubmit; 
    } 
} 
関連する問題