gpt4 book ai didi

java - 使用 Appium 运行 Web 应用程序自动化的步骤

转载 作者:行者123 更新时间:2023-12-01 10:55:53 25 4
gpt4 key购买 nike

我在尝试使用 appium 在物理 Android 设备上运行自动化测试时遇到了很多麻烦。我不太擅长使用 cmd 和配置,并且关于设置它来运行网络应用程序的教程很少。这是我所拥有的

  1. 使用 Java 编码的 Intellij 自动化项目。测试通过 testng xml 文件运行并同步到 browserstack。
  2. 我已经下载了 Appium。
  3. 我已在路径中设置 ANDROID_HOME 变量
  4. 我已经连接了一个设备,并且在输入 adb devices 时可以看到它

我认为我已经拥有了所需的大部分内容,但我不知道要采取的步骤或如何更改所需的功能以通过我的手机运行它!拜托,我知道这是一个广泛的问题,但如果有人能够就如何实现这一点提供一些见解,我将永远感激不已。谢谢!下面是我如何在 xml 文件中设置测试的示例。

<test name="Standard Ad Regression">
<parameter name="browserName" value="Android"/>
<parameter name="device" value="Samsung Galaxy S5"/>
<parameter name="emulator" value="true"/>
<parameter name="browser_version" value=""/>
<parameter name="platform" value="ANDROID"/>
<parameter name="local" value="true"/>
<parameter name="baseUrl" value="https://mywebsite.com/"/>
<parameter name="os" value="os"/>
<parameter name="os_version" value="4.4"/>
<parameter name="resolution" value="1024x768"/>
<parameter name="bsAccount" value="http://myusername:BcB9786AAvEoa45Fj@hub.browserstack.com/wd/hub"/>
<classes>
<class name="com.testsuites.regression.TestThis"/>
</classes>
</test>

最佳答案

这是一个非常普遍的问题,但我已经做了几乎完全符合您尝试做的事情。

  1. 将 Selenium 和 Appium Jars 添加到 Java 项目
  2. 编写 Java 测试脚本并初始化 AndroidDriver:

我正在使用单独的方法来获取驱动程序。我这样做的原因是,当我扩展测试以并行运行时,我不需要重新设计。

    public static AndroidDriver getDriver(String udid) throws MalformedURLException{

String URL = "XXXX";
ThreadLocal<AndroidDriver> driver = null;

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device", udid);
capabilities.setCapability("deviceName", udid);
capabilities.setCapability("udid", udid);
capabilities.setPlatform(Platform.ANDROID);
capabilities.setCapability("browserName", "Chrome");

try {
driver = new ThreadLocal<AndroidDriver>();
driver.set(new AndroidDriver(new URL(URL),
capabilities));
} catch (MalformedURLException e) {
System.out.println("Tackle Issue with RemoteDriverSetup");
}
driver.get().manage().timeouts()
.pageLoadTimeout(20L, TimeUnit.SECONDS);
driver.get().manage().timeouts()
.implicitlyWait(20L, TimeUnit.SECONDS);

return driver.get();
}
  • 创建您的 testNG.xml
  • 我只是通过此文件传递设备的 UDID,我看到您正在使用多个参数,这也很好。

    <?xml version="1.0" encoding="UTF-8"?>
    <suite name="Suite" parallel="false">
    <test name="Nexus 7">
    <parameter name="udid" value="XXXX" />
    <classes>
    <class name="testNG.TestOne"/>
    </classes>
    </test> <!-- Test -->
    </suite> <!-- Suite -->
  • 启动 Appium 服务器
  • 使用 GUI,您只需按下按钮,确保使用的 URL 与初始化 AndroidDriver 时使用的 URL 相同。

  • 右键单击 testNG 并作为测试套件运行。
  • 如果您有任何问题,请运行 Appium doctor 并确保一切都安装正确。

    希望这有帮助,

    利亚姆

    关于java - 使用 Appium 运行 Web 应用程序自动化的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614857/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com