【问题标题】:Click element by element in the list逐个点击列表中的元素
【发布时间】:2014-03-05 22:41:49
【问题描述】:

如何在定位器如下所示的列表中逐个单击元素:

id=${NameFirst.replace(" ", ""}_${NameLast.replace(" ", "")}

    *Keywords*
    | Get all first and last names
    | | ${Name} | Query Master Database
    | | ... | 
    | | [Return] | ${Name[0][0]} | ${Name[0][1]}

    *Test Case*
    | Click element by element
    | | :FOR | ${NameElement} | IN | @{NameElementList}
    | | ${NameFirst} | ${NameLast}= | Get all first and last names
    | | set suite variable | ${NameFirst}
    | | set suite variable | ${NameLast}
    | | Click Element | id=${NameFirst.replace(" ", ""}_${NameLast.replace(" ", "")}

当我运行测试用例时,它只点击第一个元素

INFO ${Name} = [['AAA', 'BBB'], ['CCC', 'DDD']]
INFO    ${NameFirst} = AAA
INFO    ${NameLast} = BBB

【问题讨论】:

  • 你没有在 FOR 循环中的任何地方使用${NameElement},这使得循环几乎毫无用处。

标签: python selenium selenium-webdriver robotframework


【解决方案1】:

首先,您的循环格式似乎不正确。循环的主体需要额外的缩进级别。以下示例说明:

*Test Case*
| Click element by element
| | :FOR | ${NameElement} | IN | @{NameElementList}
| | | ${NameFirst} | ${NameLast}= | Get all first and last names
| | | set suite variable | ${NameFirst}
| | | set suite variable | ${NameLast}
| | | Click Element | id=${NameFirst.replace(" ", ""}_${NameLast.replace(" ", "")}

这里属于forloop的行需要间隔开,留下一个单元格。 PFA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多