【问题标题】:Can you have cross browser testing using Robot Framework你可以使用机器人框架进行跨浏览器测试吗
【发布时间】:2018-03-06 06:09:26
【问题描述】:

我有一个运行正常的机器人框架测试套件。

我用 pabot 和 selenium Grid 运行它,所以并行测试都很好。

我的问题是,我可以在多个浏览器上运行我的测试套件,而不必为每个浏览器手动运行相同的脚本或为每个浏览器复制我的测试套件。 本质上,使用“Resource.txt”文件告诉测试实例化设置网格节点的浏览器。

例如,在一个 TestNG 项目(使用 POM 方法)中,我使用“if”和“else”方法告诉测试使用设置了 selenium 网格节点的浏览器。

Python 2.7 射频 3.0.2 网格 3.5

【问题讨论】:

    标签: python-2.7 selenium cross-browser robotframework


    【解决方案1】:

    通常的做法是使用一个变量来保存浏览器的名称,然后从命令行设置该变量

    在您的测试用例中:

    open browser  ${ROOT_URL}  ${BROWSER}
    

    从命令行:

    robot --variable BROWSER:firefox ...
    -or-
    robot --variable BROWSER:chrome ...
    

    在命令行上设置变量的另一种方法是让您的测试使用variable file,它根据运行时条件动态设置变量的值。

    【讨论】:

    • 这可以在没有单独的命令行输入的情况下完成吗?例如,将所有浏览器设置为变量并让测试选择浏览器以匹配节点设置?
    • @Richard:当然。您将不得不修改所有测试以调用 setup 关键字。这个 setup 关键字可以做任何你想做的事情。或者,使用根据某些条件动态设置变量的变量文件。
    • 理想情况下,我想使用您建议的可变文件方法,我可以在测试脚本中调用它。但是我看不到如何使用关键字库来完成。我可以像在 TestNG 等中那样使用“if”和“else”,还是只有一个资源文件来实例化我想要使用的任何浏览器。目前我的脚本有变量'${BROWSER} chrome'和关键字“Open Browser ${LOGIN URL} ${BROWSER} None ${SERVER}'(服务器是网格)
    • @Richard 我不明白你的问题。变量文件是用 python 编写的,因此它具有您需要的所有逻辑结构。如果您改为编写在套件设置中调用的关键字,robot 就有足够的关键字来完成工作(“Run keyword if...”等)。
    • 你是对的,我读回来让自己感到困惑,我很抱歉。但是“Run Keyword if”路线很有帮助,看起来就像我正在寻找的那样。
    猜你喜欢
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2012-08-03
    • 2013-02-07
    • 2017-09-13
    • 2020-08-19
    相关资源
    最近更新 更多