机器人框架 - 等到表单文本字段包含文本

时间:2018-05-15 09:48:53

标签: robotframework textfield wait

对于我的测试,我需要等到表单文本字段填充文本,我想检查该文本。它是一个地址表单,根据邮政编码自动填充街道和城市。

使用“等到元素包含”对我来说不起作用,我想避免使用睡眠,然后因为时间变化而使用“textfield应该包含”。

谢谢!

3 个答案:

答案 0 :(得分:1)

Wait Until Element Contains对您不起作用,因为它等待"使元素的文本具有所需的值 - 表示in the documentation

同时,Textfield Should Contain适用于<input> html元素,并检查其value 属性(这是存储由用户)。因为它对您有用,您的目标元素是<input>,对吗?

要获得value,您应该使用关键字Get Element Attribute来获取属性的值;要等到它更新,你可以把它包装在Wait Until Keyword Succeeds - 这里是后者的documentation

粗略的样本:

*** Test Cases ***
Check the value is correct
    Wait Until Keyword Succeeds    retry=10s    retry_interval=200ms    The value of the input should be    expected text
    # will check the value of the input every 200ms, and continue if it matches "expected text"
    # if it does not matches in 10 seconds, the keyword and the case will be failed.

*** Keywords ***
The value of the input should be
    [Arguments]    ${expected}
    ${actual value}=    Get Element Attribute    locator_for_the_element    value
    Should Be Equal As Strings    ${actual value}    ${expected}

答案 1 :(得分:0)

我最终在@Todor的帮助下使用了这个:

Wait Until Keyword Succeeds    1min    1s    Textfield Should Contain    Fieldname    Value

答案 2 :(得分:0)

您可以使用元素应包含关键字 Element Should Contain xpath=//div[@class="clr"] sampleText