zoukankan      html  css  js  c++  java
  • robotframework:appium切换webview后,在第一个页面操作成功,跳转到第二个页面后,执行命令失败

    问题:

    在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5,

    需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美妆页面,美妆页面也是H5,

    与天猫国际页面的webview一样,此时点击美妆页面的元素,提示找不到元素,用get source获取美妆页面源码,

    获取到的源码是第一个天猫国际页面的源码,所以在美妆页面执行操作找不到元素。

    解决:

    在天猫国际页面点击美妆菜单后,先切换回NATIVE_APP,再重新切换回对应的webview,此后就能执行美妆页面的元素了

    代码示例:

    *** Settings ***
    Suite Setup
    Suite Teardown
    Library           AppiumLibrary
    
    *** Variables ***
    
    *** Test Cases ***
    手机淘宝
        Open Application    http://localhost:4723/wd/hub    platformName=Android    platformVersion=19    deviceName=127.0.0.1:21503    app=${CURDIR}${/}shoujitaobao_178.apk    appPackage=com.taobao.taobao
        ...    appActivity=com.taobao.tao.welcome.Welcome    unicodeKeyboard=True    resetKeyboard=True
        Wait Until Page Contains Element    xpath=//android.widget.TextView[@text="天猫国际"]
        Click Element    xpath=//android.widget.TextView[@text="天猫国际"]
        @{contexts}    Get Contexts
        Log Many    @{contexts}
        ${cur_context}    Get Current Context
        log    当前context
        log    ${cur_context}
        log    开始切换
        Switch To Context    WEBVIEW_com.taobao.taobao
        log    切换成功
        ${cur_context}    Get Current Context
        log    ${cur_context}
        Page Should Contain Text    美妆
        Click Element    xpath=//*[@id="J_5132393350"]/div/div/div/a[2]
        Page Should Contain Text    明星面膜
        @{contexts1}    Get Contexts
        Log Many    @{contexts1}
        ${cur_context1}    Get Current Context
        log    当前context
        log    ${cur_context1}
        Switch To Context    NATIVE_APP
        Switch To Context    WEBVIEW_com.taobao.taobao
        ${page}    Get Source
        log    ${page}
        Click Element    xpath=//*[@id="J_1456082907"]/div/div/div[1]/a[1]/div[1]/img
        sleep    2
        Scroll Down    xpath=//*[@id="J_2195168767"]/div/div[2]/a/div[1]/img[1]
        sleep    5
        [Teardown]    Close All Applications
    
    *** Keywords ***

    示例图:

  • 相关阅读:
    字符串和编码
    Python基础
    输入和输出
    Python代码运行助手
    使用文本编辑器
    第一个Python程序
    pycharm中创建并设置docker解释器
    docker 在windows上的使用
    Python time datetime模块
    Linux安装字体文件
  • 原文地址:https://www.cnblogs.com/yrxns/p/8465037.html
Copyright © 2011-2022 走看看