我们如何使用 Ride 在 robotframework 中 运行 一次在不同浏览器上测试用例

How can we run test cases on different browser at once in robotframework using Ride

*** Settings ***
Library           SeleniumLibrary

*** Variables ***
${url}            https://www.youtube.com/
${browser}        chrome

*** Test Cases ***
Search
    [Template]
    Open Browser    ${url}    ${browser}
    Maximize Browser Window

注意:如果我们想在不同的浏览器上同时运行上面的测试用例。我们如何在机器人框架中处理它(是否可以与 sauce labs / browser stack 集成)。目前,我正在从命令行传递变量浏览器。例如:机器人 --variable BROWSER:Chrome Youtube.robot

但我想 运行 同时在不同的浏览器上使用它。

您将需要使用 Pabot 进行并行测试。并行 运行 它们的最简单方法是创建 3 个不同的测试用例并使用 --testlevelsplit 调用 pabot。但是,如果您不想复制测试用例,则可以使用 --argumentfile 选项。

您需要使用可以测试的变量创建尽可能多的文件。例如:

arg1.txt:

--variable browser:chrome

arg2.txt

--variable browser:ie

然后运行:

pabot  --pabotlib --argumentfile1 arg1.txt --argumentfile2 arg2.txt -t "Search" <PATH_TO_TEST_DIR>

如果每个浏览器的测试用例都相同,除了它们 运行 所使用的浏览器之外,那么我建议使用编排工具,例如 Jenkins,CI,Bamboo等,以启动不同的浏览器测试 运行s。这样你就有了 1 个测试集,使用参数 files/global 变量可以启动特定的浏览器。在我看来,这是一个更具前瞻性的设置,然后为每个特定浏览器复制测试用例。