Automation 如何使用Appium库、Robotframework(python)和Saucelabs在Android和Apple iOS设备上打开移动浏览器

Automation 如何使用Appium库、Robotframework(python)和Saucelabs在Android和Apple iOS设备上打开移动浏览器,automation,automated-tests,appium,robotframework,saucelabs,Automation,Automated Tests,Appium,Robotframework,Saucelabs,我希望使用Robotframework(Python)中的Appium库和SauceLabs打开移动浏览器(android手机上的设备浏览器和apple ios手机上的safari) 我可以从Saucelabs平台配置器获得所需的功能 但是,我不能将它们与${remote\u url}和${desired\u capabilities}一起传递给“openbrowser”方法 当我这样做时,它会启动移动设备仿真器/模拟器和浏览器,但不会在地址栏中输入URL。经过数小时的试用,以下是实现神奇效果的

我希望使用Robotframework(Python)中的Appium库和SauceLabs打开移动浏览器(android手机上的设备浏览器和apple ios手机上的safari)

我可以从Saucelabs平台配置器获得所需的功能

但是,我不能将它们与${remote\u url}和${desired\u capabilities}一起传递给“openbrowser”方法

当我这样做时,它会启动移动设备仿真器/模拟器和浏览器,但不会在地址栏中输入URL。

经过数小时的试用,以下是实现神奇效果的步骤: 对于iOS

**** Settings ****
Suite Setup    Set Library Search Order    Selenium2Library
Test Setup    Open page
Test Teardown    Close Page
Library    Selenium2Library
Library    Collections
Library    SauceLabs
Library    requests
Library    AppiumLibrary

**** Test Cases ****
Test_case_sample

**** Keywords ****
Open Page
    ${desired_capabilities}=    Create Dictionary
    Set to Dictionary    ${desired_capabilities}    deviceName    iPhone 6 Simulator
    Set to Dictionary    ${desired_capabilities}    build    test_run
    Set to Dictionary    ${desired_capabilities}    platformName    iOS
    Set to Dictionary    ${desired_capabilities}    name    test_name
    Set to Dictionary    ${desired_capabilities}    platformVersion    10.0
    Set to Dictionary    ${desired_capabilities}    deviceOrientation     portrait
    Set to Dictionary    ${desired_capabilities}    browserName    Safari
    Set to Dictionary    ${desired_capabilities}    appiumVersion    1.6.3
    Set to Dictionary    ${desired_capabilities}    deviceType    phone
    ${executor}=    Evaluate          str('http://my_sauce_username:my_sauce_access_key@ondemand.saucelabs.com:80/wd/hub')
    Create Webdriver    Remote      desired_capabilities=${desired_capabilities}    command_executor=${executor}
    Go To    https://www.google.com

Close Page
    Run Keyword If    '${REMOTE_URL}' != ''    Report Sauce Status    ${SUITE_NAME} \| ${TEST_NAME}    ${TEST_STATUS}    ${TEST_TAGS}    ${REMOTE_URL}
关闭所有浏览器 对于Android, 只需更改以下所需功能:

**** Settings ****
Suite Setup    Set Library Search Order    Selenium2Library
Test Setup    Open page
Test Teardown    Close Page
Library    Selenium2Library
Library    Collections
Library    SauceLabs
Library    requests
Library    AppiumLibrary

**** Test Cases ****
Test_case_sample

**** Keywords ****
Open Page
    ${desired_capabilities}=    Create Dictionary
    Set to Dictionary    ${desired_capabilities}    deviceName    Android Emulator
    Set to Dictionary    ${desired_capabilities}    build    test_run
    Set to Dictionary    ${desired_capabilities}    platformName    Android
    Set to Dictionary    ${desired_capabilities}    name    test_name
    Set to Dictionary    ${desired_capabilities}    platformVersion    5.1
    Set to Dictionary    ${desired_capabilities}    deviceOrientation     portrait
    Set to Dictionary    ${desired_capabilities}    browserName    Browser
    Set to Dictionary    ${desired_capabilities}    appiumVersion    1.5.3
    Set to Dictionary    ${desired_capabilities}    deviceType    phone
    ${executor}=    Evaluate          str('http://my_sauce_username:my_sauce_access_key@ondemand.saucelabs.com:80/wd/hub')
    Create Webdriver    Remote      desired_capabilities=${desired_capabilities}    command_executor=${executor}
    Go To    https://www.google.com

Close Page
    Run Keyword If    '${REMOTE_URL}' != ''    Report Sauce Status    ${SUITE_NAME} \| ${TEST_NAME}    ${TEST_STATUS}    ${TEST_TAGS}    ${REMOTE_URL}
关闭所有浏览器
有关其他移动设备功能,请参阅Saucelabs Platform Configurator

能否以文本格式而不是图像形式发布代码?这样更有帮助…@Goralight-显然我刚开始发布答案,对这些功能还不熟悉。当我第一次以文本格式上传脚本时,它没有保留该格式。因此我后来上传了一张图片。我将检查如何以文本格式粘贴它,并且仍然保留该格式。将在时间允许的情况下执行。更新答案,以便用户可以将代码复制为文本。