【问题标题】:How to Open Mobile Browsers on Android and Apple iOS devices using Appium Library, Robotframework(python) and Saucelabs如何使用 Appium 库、Robotframework(python) 和 Saucelabs 在 Android 和 Apple iOS 设备上打开移动浏览器
【发布时间】:2017-06-23 21:31:42
【问题描述】:

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

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

但我无法将它们与 ${remote_url} 和 ${desired_capabilities} 一起传递给“打开浏览器”方法。

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

【问题讨论】:

    标签: automation automated-tests appium robotframework saucelabs


    【解决方案1】:

    经过数小时的试验,以下是施展魔法的步骤:

    对于 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}
    

    关闭所有浏览器

    对于安卓, 只需更改以下所需功能:

    **** 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 平台配置器

    【讨论】:

    • 你能以文本格式而不是图像发布代码吗?这样更有帮助...
    • @Goralight - 显然我刚刚开始发布答案并且对这些功能不熟悉。当我第一次以文本格式上传脚本时,它没有保留格式。因此,我稍后将其作为图像上传。我将检查如何以文本格式粘贴它并仍然保留格式。在时间允许的情况下会这样做。
    • 更新了答案,以便用户可以将代码复制为文本。
    猜你喜欢
    • 2015-06-29
    • 2019-04-12
    • 2017-02-19
    • 1970-01-01
    • 2018-06-16
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    相关资源
    最近更新 更多