当前位置: 首页 > 知识库问答 >
问题:

如何使用Appium运行需要两个设备的测试

阮昊阳
2023-03-14

我知道为了使用Appium控制多个设备,我需要启动多个具有不同端口的Appium服务器。但是,当多个设备连接到主机时,我无法获得如何将部分测试目标指向特定设备的信息。

我知道,下面是我需要做的两种配置,以便处理连接到计算机的多个设备。

>

  • 端口设置:如以下webdriver初始化中的4723

    网络驱动程序。远程(http://127.0.0.1:4723/wd/hub,desired_caps_first_device)

    desired_caps不同的设备。

    所需的_caps_first_设备={'platformName':'Android','platformVersion':'7.0','deviceName':'gts210velte','appPackage':'package_name','appActivity':'activity_name'}

    我有两个Android设备连接到一台机器上,都是同一型号(deviceName)。我知道我可以创建两个驱动程序实例,但Appium如何知道哪个实例适用于哪个物理设备?换句话说,我应该如何区分代码中的两个设备,以便知道一段代码将在连接到机器的两个设备中的特定设备上执行?

  • 共有3个答案

    季俭
    2023-03-14

    两种类似的设备用udo来区分。

    这是一个与1台设备建立连接的示例脚本,您可以查看并修改它以满足您对多台设备的需求。

    例子是不言自明的。

    姚高爽
    2023-03-14

    我发现有一个名为udid的属性,当多个设备连接到主机时,可以将adb设备id分配给目标特定的android设备。

    例如

    device_caps_first_device =  {'platformName': 'Android', 'platformVersion': '7.0', 'udid': 'xxxxxxx', 'deviceName': 'gts210velte', 'appPackage':'package_name', 'appActivity':'activity_name'}
    
    device_caps_second_device =  {'platformName': 'Android', 'platformVersion': '7.0', 'udid': 'yyyyyyy', 'deviceName': 'gts210velte', 'appPackage':'package_name', 'appActivity':'activity_name'}
    

    udid定义为连接的物理设备的唯一设备标识符http://appium.io/docs/en/writing-running-appium/caps/

    洪旻
    2023-03-14

    将所需的udo功能与需要映射到您喜欢的任何服务器的设备ID一起使用。

    可以使用以下命令找到设备的ID:

    $ adb devices
    
     类似资料:
    • 我是Appium的新手,尝试使用Appium和Selenium(Java)并行运行2台android设备,但只有1台设备在运行我的测试脚本。下面是我的测试脚本(junit),我很难尝试解决这个问题。我没有同时使用任何网格或云网格(SauceLabs/BrowserStack),因为我现在想在本地监视它。 我不是很确定我需要在这里补充什么细节,但我很乐意回答任何问题和建议,将非常感谢。 提前谢谢!!

    • 目标:因为我是新来Appium的。我正在尝试在Ubuntu上使用Appium网格在多个android设备上并行自动化Appium测试 我成功启动了一个网格中心服务器和两个具有不同端口的节点 问题:无法同时在两台设备上运行测试用例(我确信问题出在我如何设计框架上)。我不知道如何传递两个设备的能力,同时启动设备(主要问题)。我必须为此使用多线程吗?如果是,那么如何使用 实际:当我在同一个设备上运行多个

    • 我想使用Appium在多个iOS设备上并行运行我的自动化脚本。我可以在Android系统上执行这个并行测试,但不能在iOS上。 我们有没有办法在iOS上执行此操作。 我使用的工具有:SeleniumGrid、Appium和TestNG框架。

    • TL;DR:我只能对某个设备运行一次测试,然后每隔一次尝试将我的应用程序连接到ADB会话,手动或通过Appium服务器调用,都会失败。如何解决这个问题,以便能够恢复自动化测试? 我的设备的Appium desired_capabilities包括。除设备标识符之外的所有其他desired_capabilities都在所有其他设备之间共享并适用于所有其他设备。 直到将添加到一个测试中,才观察到此错误

    • 我试图运行一个简单的登录测试,但我被困在这个。Appium不打开应用程序:( 下面是Java中的clode类: 有人知道我做错了什么吗?我是缺少任何导入还是语法错误?

    • 我已经使用Appium和Java以及TestNG为Android应用程序编写了一些测试。我的测试在模拟器上本地运行良好,但当我将它们上传到设备场时,我的测试总是失败。我已经尽可能地简化了我的测试,但它仍然不起作用。目前,我尝试运行的测试会在打开应用程序时出现的提示中找到并单击“允许权限”按钮。代码: 观看Device Farm提供的视频,我可以看到它打开并立即关闭我的应用程序。它甚至没有像应该的那