selenium - 无法将测试执行结果传递给 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 中获得?希望这是有道理的。
解决方案
Input Text
Selenium2Library
是将给定文本键入网页文本字段的关键字。您需要先启动浏览器会话并打开正确的页面,然后可能等待元素变得可见,例如:
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
推荐阅读
- css - 如何向此 div 添加过渡
- maven - 如何使用 Maven 启动多个 spring-boot 应用程序,例如端口 8081 上的客户端和端口 8080 上的 API
- sql - 使用分组在 Django 中进行条件批量更新
- c# - 计算我的应用程序中当前存在的活动任务/线程的数量
- javascript - 统计 gtm.click 的出现次数
- react-native - 反应原生 fs iOS 不显示文档目录中的文件
- c# - 为什么我的脚本(旨在在游戏开始时消除重力)不起作用?
- java - Google appengine 标准上的 Spring Boot - REST API
- php - 如何创建ajax导航
- r - 下载的 pdf 文件的命名不起作用