首页 > 解决方案 > 无法在 android studio 的测试类中找到用于 Appium 测试的按钮

问题描述

大家好,我正在尝试使用 appium 测试我的 android 应用程序,但我无法创建按钮列表。这是我的代码

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;


public class FirstTextCase {
    WebDriver driver;


    @Before
    public void setUp() throws MalformedURLException {

        // Created object of DesiredCapabilities class.
        DesiredCapabilities capabilities = new DesiredCapabilities();

        // Set android deviceName desired capability. Set your device name.
        capabilities.setCapability("deviceName", "Google Pixel 3");

        // Set BROWSER_NAME desired capability. It's Android in our case here.
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");

        // Set android VERSION desired capability. Set your mobile device's OS version.
        capabilities.setCapability(CapabilityType.VERSION, "11");

        // Set android platformName desired capability. It's Android in our case here.
        capabilities.setCapability("platformName", "Android");

        // Set android appPackage desired capability. It is
        // com.android.calculator2 for calculator application.
        // Set your application's appPackage if you are using any other app.
        //capabilities.setCapability("appPackage", "com.example.testapplication");

        // Set android appActivity desired capability. It is
        // com.android.calculator2.Calculator for calculator application.
        // Set your application's appPackage if you are using any other app.

        // Created object of RemoteWebDriver will all set capabilities.
        // Set appium server address and port number in URL string.
        // It will launch calculator app in android device.
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);


    }

    @Test
    public void testFirstCalculator() {
    List<WebElement> editTexts =  
                               driver.findElements(By.className("android.widget.EditText"));
    editTexts.get(0).sendKeys("Name: Akshay");
    editTexts.get(3).sendKeys("Age: 22 year Old");
    List<WebElement> button = driver.findElements(By.className("android.widget.Button"));
    button.get(1).click();

    }

    @After
    public void End() {
        driver.quit();
    }

问题是当我尝试使用同一行代码访问editTexts时,它可以工作,但是当它涉及到按钮时,它不起作用并显示按钮的空列表。

标签: androidandroid-studiounit-testingappiumappium-android

解决方案


推荐阅读