【问题标题】:How to perform Multi Device Tests on Android using the Robot Framework如何使用机器人框架在 Android 上执行多设备测试
【发布时间】:2018-06-18 10:25:15
【问题描述】:

我正在尝试使用带有 Appium 的 Robot Framework 在多个移动设备(模拟器)上启动我的应用程序。

我在不同的测试用例中使用了下面的关键字。但它仍然只在一个设备上启动应用程序,它在连接列表中排在第一位:

${appium1}=  Open Application    
...                 http://localhost:4723/wd/hub    
...                 platformName=${PLATFORM_NAME}    
...                 platformVersion=${PLATFORM_VERSION}  
...                 deviceName= emulator-5556        
...                 appPackage=${appPackage}        
...                 appActivity=${appActivity} 

${appium2}=  Open Application    
...                 http://localhost:4725/wd/hub    
...                 platformName=${PLATFORM_NAME}    
...                 platformVersion=${PLATFORM_VERSION}    
...                 deviceName=emulator-5554        
...                 appPackage=${appPackage}    
...                 appActivity=${appActivity}

请帮助我使用 Robot Framwork-Appium 进行多设备测试

【问题讨论】:

  • @SangwinGawande 请重新格式化代码以对代码使用代码标记。将其作为引用发布会让人难以阅读。

标签: robotframework


【解决方案1】:

问题格式不正确,我正在粘贴示例代码,它将在两个设备上启动应用程序,您可以从这里参考

*** Settings ***
Documentation    This script starts apps on two phones
Library           AppiumLibrary
Library          Collections

*** Variables ***
${APPIUM_SERVER1}    http://0.0.0.0:4723/wd/hub
${APPIUM_SERVER2}    http://0.0.0.0:4750/wd/hub


*** Test cases ***
Test
    setup and open android phone1
    setup and open android phone2

*** Keywords ***
setup and open android phone1
    ${androiddriver1}=    Open Application    ${APPIUM_SERVER1}    platformName=android    platformVersion=7.0    deviceName=f1232233    automationName=uiautomator2
    ...    appPackage=com.samsung.android.contacts    newCommandTimeout=2500    appActivity=com.android.dialer.DialtactsActivity
    Set Suite Variable    ${androiddriver1}

setup and open android phone2
    ${androiddriver2}=    Open Application    ${APPIUM_SERVER2}    platformName=android    platformVersion=7.0    deviceName=s12333   automationName=uiautomator2
    ...    appPackage=com.samsung.android.contacts   newCommandTimeout=2500    appActivity=com.android.dialer.DialtactsActivity    noReset=True
    Set Suite Variable    ${androiddriver2}

【讨论】:

  • 非常感谢。是的,它有效。只有我需要为特定的移动设备提供 udid,然后它才能在两个设备上启动应用程序。
  • 后续问题:一旦应用在多个安卓设备上启动。我们如何一次在多个移动设备上执行相同的测试用例?因为我有一堆测试用例要在多个 android 设备上执行。我正在尝试通过在测试用例中传递 udid 或 Appium 服务器名称来使用 For Loop,但它不起作用。它仅在单个设备上执行测试用例。有什么方法可以让我们在多个设备上执行测试用例(相同的测试用例)设备?
  • 如果你发现上面的答案有用..请点赞并关闭它
猜你喜欢
  • 2017-11-19
  • 1970-01-01
  • 2015-06-11
  • 2013-06-21
  • 2017-04-25
  • 2019-03-21
  • 2019-11-01
  • 2017-09-12
  • 1970-01-01
相关资源
最近更新 更多