android - 无法在 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时,它可以工作,但是当它涉及到按钮时,它不起作用并显示按钮的空列表。
解决方案
推荐阅读
- regex - 如何将正则表达式转换为语法和 DFA
- react-native - 如何在 React Native 中使用和导入 Modal?
- google-chrome-extension - Chrome扩展浏览器动作图标查询
- javascript - 将垫表值与标题文本对齐,角度材料
- mailto - 是否可以通过 Apaptive 卡上的 Action.OpenUrl 在 mailto 中指定多个收件人
- c++ - 构造函数初始化列表不遵循顺序
- php - 在 Laravel 8 中从用户名创建自定义图像
- laravel - Laravel Fortify XHR 登录响应
- sql - 跟踪下单时公司收入的变化,分流派
- python - 混合日期格式更新