2

场景是:

  1. 用户将鼠标移到链接上:ID_CHECK: R17AA003
  2. 下拉列表会自动出现
  3. 用户将通过单击从列表中选择测试类型

在此处输入图像描述

我正在尝试这段代码来实现这一点:

Mouse over    ${xpathToIdCheck}
Page Should Contain Element    xpath=//*[@id="list_of_test_types"]    5s
Click Element   ${User_Menu Link}
Select From List    xpath=//*[@id="list_of_test_types"]    STR

当我运行测试时,Robot 框架将鼠标移到 id_Check 链接上,我们可以看到出现了文本框:

在此处输入图像描述

但在那之后,测试失败了。显然它可以在网页上找到该元素,但找不到要单击的下拉框。

在此处输入图像描述

在此之后,我尝试删除单击链接命令并直接选择从列表命令中选择:

Mouse over    ${xpathToIdCheck}
Page Should Contain Element    xpath=//*[@id="list_of_test_types"]    5s
Select From List    xpath=//*[@id="list_of_test_types"]    STR

但它又失败了。反馈如下:

在此处输入图像描述

html代码如下:

    <form action="/change_test_type_id_check?page=1&amp;study_id=ID&amp;test_uuid=UUID" method="post" style="display:inline">
    <select class="list_of_test_types" id="list_of_test_types" name="`" onchange="this.form.submit()">
<option value="">Select a test type</option>
<option value="STR">STR</option></select>
    </form>

另外,如果我将代码更改为

Select From List by Value   xpath=//*[@id="list_of_test_types"]    STR

这也失败并显示消息“NoSuchElementException:消息:无法找到具有值的选项:STR”

期待您的善意支持。谢谢

4

2 回答 2

4

您可以尝试如下。

Mouse over    ${xpathToIdCheck}
Page Should Contain Element    xpath=//*[@id="list_of_test_types"]    5s
Click Element   ${User_Menu Link}
Mouse Down    xpath=//li[contains(.,'${STR}')]
Click Element  xpath=//li[contains(.,'${STR}')]
于 2017-10-11T08:04:19.650 回答
1

尝试使用这个

    Select From List By Index    name:Trail.NationalParkId    1

在此处输入图像描述

于 2021-06-15T08:56:50.930 回答