首页 > 解决方案 > Robotframework:AttributeError:'dict'对象没有属性'has_key'

问题描述

我是机器人框架自动化测试的新手,我尝试测试我的颤振应用程序,但在运行测试用例时出现此错误

    *** Settings ***
    Documentation    Suite description
    Library         AppiumLibrary

    *** Variables ***
    ${APPIUM_SERVER}=       http://127.0.0.1:4723/wd/hub
    ${ANDROID_PLAT_NAME}=   Android
    ${ANDROID_PLAT_VER}=    9.0
    ${DEVICE_NAME}=         sopniz6l65qsysyt
    ${PACKET_NAME}=         com.microfabrix.onboarding
    ${ACTIVITY_NAME}=       com.microfabrix.onboarding.MainActivity
    ${fullReset}=           false
    ${noReset}=             true

    *** Test Cases ***
    Test title
        [Tags]    DEBUG
        Provided precondition
        When action
        Then check expectations

    Login
        open application    ${APPIUM_SERVER}        platformName=${ANDROID_PLAT_NAME}        platformVersion=${ANDROID_PLAT_VER}     deviceName=${DEVICE_NAME}       automationName=Appium      appPackage=${PACKET_NAME}       appActivity=${ACTIVITY_NAME}        fullReset=${fullReset}      noReset=${noReset}
        sleep                  3
        click button           id=loginBtn
        sleep                  3
        click button           id=page1Btn
        sleep                  3

结果是

    (venv) G:\PyCharm>robot -t Login TestCase/onboarding_test.robot
    ==============================================================================
    Onboarding Test :: Suite description
    ==============================================================================
    Login                                                                 | FAIL |
    AttributeError: 'dict' object has no attribute 'has_key'
    ------------------------------------------------------------------------------
    Onboarding Test :: Suite description                                  | FAIL |
    1 critical test, 0 passed, 1 failed
    1 test total, 0 passed, 1 failed
    ==============================================================================
    Output:  G:\PyCharm\output.xml
    Log:     G:\PyCharm\log.html
    Report:  G:\PyCharm\report.html

我没有在我的应用程序上使用任何has_key东西,也没有in在我的应用程序代码上使用,但是出现了这个错误。我使用 python 3.7 和 appiumlibrary,已经用谷歌搜索并找到了一些降级到 python 2 的建议。但仍然有同样的错误。

是因为我尝试在机器人框架上测试颤振吗?

这是我的日志 在此处输入图像描述

标签: pythonflutterappiumrobotframework

解决方案


事实证明(至少对我来说,我从未使用过该库)这是一个已知问题 - “Click Button 关键字在 python 3 上不起作用” https://github.com/serhatbolsu/robotframework-appiumlibrary/issues/ 255 .

该错误中引用的解决方法是使用Click Element.

附带说明一下,该库的文档说它仅正式支持 Python 2,因此请期待这样的问题。


推荐阅读