Automation 如何在一次测试运行中针对不同的URL运行相同的Robot框架测试?

Automation 如何在一次测试运行中针对不同的URL运行相同的Robot框架测试?,automation,robotframework,Automation,Robotframework,我为我的公司创建了一些机器人框架测试,用于检查一些基本的UI功能。非常简单的东西。但是,我们有几个不同的站点节点需要运行这些测试。测试步骤都是相同的,但是每个节点的URL都会更改。我需要自动执行此操作,而无需每次更改运行参数。它在一个节点中运行测试,然后自动转到下一个节点。我已经让它像你在下面看到的那样工作,但我知道必须有一个更优雅的方式来完成这件事。有没有人对我如何让这更好有什么想法 我以前研究过数据驱动部分,但就我的一生而言,我不知道如何在设置中参数化URL,当测试完成时,它只是移动到下一个

我为我的公司创建了一些机器人框架测试,用于检查一些基本的UI功能。非常简单的东西。但是,我们有几个不同的站点节点需要运行这些测试。测试步骤都是相同的,但是每个节点的URL都会更改。我需要自动执行此操作,而无需每次更改运行参数。它在一个节点中运行测试,然后自动转到下一个节点。我已经让它像你在下面看到的那样工作,但我知道必须有一个更优雅的方式来完成这件事。有没有人对我如何让这更好有什么想法

我以前研究过数据驱动部分,但就我的一生而言,我不知道如何在设置中参数化URL,当测试完成时,它只是移动到下一个节点并继续运行。我在这里真是不知所措

*** Settings ***
Documentation       Initial Test on Gibson nodes
Library             Zoomba.GUILibrary
Resource            ../../Pages/resource.robot
Suite Teardown      Close All Browsers

*** Variables ***
${browser}          chrome
${url1}              https://(URL ONE)/home
${url2}              https://(URL TWO)/home

*** Keywords ***
Setup ONE
     [Arguments]    ${url1}=https://(URL ONE)/home  ${browser}=${browser}
     Open Browser   ${url1}  browser=${browser}  options=add_argument("--ignore-certificate-errors")
     Maximize Browser Window
     Set Selenium Speed    0.3s
     
Setup TWO
     [Arguments]    ${url2}=https://(URL TWO)/home  ${browser}=${browser}
     Open Browser   ${url2}  browser=${browser}  options=add_argument("--ignore-certificate-errors")
     Maximize Browser Window
     Set Selenium Speed    0.3s
     

*** Test Cases ***
TC 001 Node ONE
    Setup ONE
    Display Node
    Sign In
    Check Menu Tabs

TC 002 Node TWO
    Setup TWO
    Display Node
    Sign In
    Check Menu Tabs
我建议使用。这将使您能够将测试逻辑编写为关键字,作为测试用例的模板。然后可以针对各种参数运行此模板

*** Settings ***
Test Template    Test Template Keyword

*** Variables ***
${BROWSER}          chrome
${URL1}              https://(URL ONE)/home
${URL2}              https://(URL TWO)/home
${URL3}              https://(URL 2TWO)/home
${URL4}              https://(URL 3TWO)/home

*** Keywords ***
Setup <ANY>
     [Arguments]    ${url}  ${browser}=${BROWSER}
     # Open Browser   ${url}  browser=${browser}  options=add_argument("--ignore-certificate-errors")
     # Maximize Browser Window
     # Set Selenium Speed    0.3s
     Log Many    ${url}    ${browser}
     
Display Node
    No Operation

Sign In
    No Operation
    
Check Menu Tabs
    No Operation
    
Test Template Keyword
    [Arguments]    ${url}  ${browser}=${BROWSER}
    Setup <ANY>    ${url}  ${browser}
    Display Node
    Sign In
    Check Menu Tabs
     

*** Test Cases ***
TC 001 Node ONE
    ${URL1}

TC 002 Node TWO
    ${URL2}    Firefox
    
TC 003 Node THREE
    ${URL3}
    
TC 004 Node FOUR
    ${URL4}

成功了!你真的救了我,非常感谢@贾斯汀很高兴听到这个消息。如果真的有助于考虑接受答案(蜱痕)。
*** Test Cases ***
Name of single test case
    ${URL1}
    ${URL2}    Firefox
    ${URL3}
    ${URL4}