你能同时检查机器人框架中的多个URL吗?

时间:2016-02-01 01:21:37

标签: python selenium automation robotframework

我正在编辑我的原始问题,希望这表明我已经做了更多的研究

我想我找到了一种方法来做到这一点,但是,我坚持一些事情,我发现我可以使用for loop来遍历网址列表,我的问题是,对于以下任何步骤,例如capture page screenshotpress key等,我在哪里申请?它们是否也嵌套在循环中?

我看到另一个stackoverflow帖子,它给了我这个想法:

*** Variables ***
@{HOMEPAGES}     http://example.one    http://example.two   http://example.three
${BROWSER}      ff

*** Test Cases ***
test with several links
    :FOR    ${homepage}     IN      @{HOMEPAGES}
    \   open browser     ${homepage}
    \   capture page screenshot     ${homepage}

上面的示例给了我一个PASS,但我想知道如果我想将这些操作应用到for loop数组,是否必须将所有操作都放在@{HOMEPAGES}中?

1 个答案:

答案 0 :(得分:1)

有两种或多或少的标准方法来处理您的任务。 您可以使用data-driven test

*** Settings ***
Test Template     Make Screenshots

*** Test Cases ***    Web Page
Page one              http://example.one
Page two              http://example.two
Page three            http://example.three

*** Keywords ***
Make Screenshots
  [Arguments]  ${homepage}
  Open Browser     ${homepage}    ff
  Capture Page Screenshot

或者只是使用自定义关键字对所需操作进行分组:

*** Variables ***
@{HOMEPAGES}     http://example.one    http://example.two    http://example.three
${BROWSER}      ff

*** Test Cases ***
test with several links
    :FOR    ${homepage}     IN      @{HOMEPAGES}
    \   Make Screenshots  ${homepage}

*** Keywords ***
Make Screenshots
  [Arguments]  ${homepage}
  Open Browser     ${homepage}    ${BROWSER}
  Capture Page Screenshot

就个人而言,我会选择数据驱动测试,因为它更优雅,更容易扩展。