在Java中为没有ID的Android元素创建Xpath

我一直在搜索此问题已有一段时间,因此我决定创建一个帐户并问自己。这是我的第一篇文章,所以我会努力的。


我想在某个屏幕上填写三个文本字段。这些字段没有id,index或content-desc。所有字段都具有相同的类和包。他们唯一的细节是文本。


我正在使用Genymotion,Appium和Selenium。


这是我的代码:


package Steps;

import cucumber.api.PendingException;

import cucumber.api.java.After;

import cucumber.api.java.Before;

import cucumber.api.java.en.And;

import cucumber.api.java.en.Given;

import cucumber.api.java.en.Then;

import cucumber.api.java.en.When;

import io.appium.java_client.MobileElement;

import io.appium.java_client.android.AndroidDriver;

import io.appium.java_client.android.AndroidElement;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.remote.CapabilityType;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.openqa.selenium.remote.RemoteWebDriver;

import org.testng.Assert;


import java.net.MalformedURLException;

import java.net.URL;

import java.util.List;

import java.util.concurrent.TimeUnit;



public class MyStepdefs {


    AndroidDriver driver;


    @Before

    public void setUp() throws MalformedURLException {

        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setCapability("deviceName", "192.168.150.101:5555");

        capabilities.setCapability("platformName", "Android");

        capabilities.setCapability("appPackage", "com.android.contacts");

        capabilities.setCapability("appActivity", "com.android.contacts.activities.PeopleActivity");

        driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

    }

因此,我想在我的虚拟设备中添加一个新联系人。我可以打开正确的屏幕来添加新的联系人,但是现在我需要填写一些文本字段,这就是我的问题所在。


ITMISS
浏览 139回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java