【问题标题】:Appium : how to check device name using automation test cases in javaAppium:如何使用 java 中的自动化测试用例检查设备名称
【发布时间】:2019-06-11 21:23:34
【问题描述】:

我正在为一个应用程序实施自动化测试用例。我想概括一些测试用例,以便根据某些条件在每台设备上运行。所以,为了做到这一点,我必须使用一些代码来获取设备名称。我无法获取检查设备名称的代码。欢迎任何帮助!!!

【问题讨论】:

    标签: java android intellij-idea appium appium-android


    【解决方案1】:

    在设置 appium 功能时,您还必须设置设备名称。您可以使用相同的

    【讨论】:

    • 感谢您的建议。实际上我知道如何使用功能获取设备名称。我担心的是当我将我的设备与 Appium 连接时。我需要检查现在连接的是哪个设备。因为我想为不同的设备运行不同的测试用例。你能帮忙吗?
    • 您在哪里运行这些自动化测试?在诸如酱实验室之类的云平台上还是在您的本地系统上?
    【解决方案2】:

    尝试会话详细信息以获取连接的设备nameudid

     String connectedDeviceName = driver.getSessionDetail("deviceName").toString();
     String connectedDeviceUdid = driver.getSessionDetail("deviceUDID").toString();
    

    【讨论】:

    • AndroidDriver 类构造函数需要功能作为参数,因此在该功能对象中,我们必须提到有关设备的所有内容。我不想要它。在开始运行测试用例时,我想检查连接了哪个设备。我有 2 个测试用例,其中一个测试用例应该在第一台设备上运行,第二个测试用例应该在第二台设备上运行。
    【解决方案3】:

    您可以使用多台设备在其上运行自动化测试,这样您就可以将特定设备 udid 分配给包含您的测试用例的特定类,并且这些测试用例将仅在该设备上运行。

    此外,您可以通过 TestNG 使用注释,例如 @Beforesuite。这将只运行特定的类,因此只会运行有限的测试用例。

    【讨论】:

      【解决方案4】:

      您可以使用以下任一方法获取设备udid。以下所有方法都会给出相同的输出。

      driver.getSessionDetail("deviceName");
      driver.getSessionDetail("udid");
      driver.getSessionDetail("deviceUDID");
      driver.getCapabilities().getCapability("deviceName");
      driver.getCapabilities().getCapability("udid");
      driver.getCapabilities().getCapability("deviceUDID");
      

      您可以使用设备 udid 代替 设备名称

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-11
        • 2017-12-21
        • 2016-09-20
        • 2014-09-28
        • 2015-09-27
        • 2015-07-14
        • 1970-01-01
        • 2017-05-19
        相关资源
        最近更新 更多