首页 > 解决方案 > 无法将测试执行结果传递给 Robo 框架中的变量

问题描述

我将自动化测试的结果发布到离线论坛。在论坛帖子标题中包含 PASS/FAIL 会很好,但我在检索 ${TEST STATUS} 值时遇到了一些困难 - (显然,硬编码值可以正常工作)。

我在 common-variables.robot 中将以下内容定义为:

${FORUM_TEST_RESULT}....${TEST STATUS}

然后在 publish-results.robot

Input Text....//*[@id="title"]....${FORUM_TEST_RESULT}

我得到的错误是:未找到变量 ${FORUM_TEST_RESULT}

我可以在这里看到:http ://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#listener-interface ${TEST STATUS} 只能用作 Teardown 的一部分。

我不确定如何在我的 RF 脚本的上下文中收集 ${TEST STATUS} 的值。

例如,我的脚本所做的最后一件事是发布到论坛:

Input Text....//*[@id="title"]....${FORUM_TEST_RESULT}

但在此之前,我显然需要用 ${TEST STATUS) 的值填充 ${FORUM_TEST_RESULT} ,你只能在 Teardown 中获得?希望这是有道理的。

标签: seleniumtestingautomated-testsrobotframeworkselenium2library

解决方案


Input TextSelenium2Library是将给定文本键入网页文本字段的关键字。您需要先启动浏览器会话并打开正确的页面,然后可能等待元素变得可见,例如:

Open Browser    [URL of your site]
Wait Until Element Is Visible    //*[@id="title"]
Input Text    //*[@id="title"]     ${FORUM_TEST_RESULT}

如果您想从页面中检索文本(正如您的评论所建议的那样),那么您需要使用Get Text返回由定位器标识的元素的文本的关键字。

Get Text    locator

推荐阅读