jira - 在 Robot Framework 侦听器中使全局变量可访问
问题描述
在我的一个项目中,我们使用 Robot Framework 和一个特殊的监听器通过 XRAY 将结果推送到 Jira。
现在,我们想以 A 或 B 两种不同的模式调用 Robot Framework,并且需要通过 XRay 将不同的标签推送到 Jira。
我不想在调用机器人之前设置一些环境变量,因为它们真的很难跟踪。
什么可能是使机器人框架的全局变量在机器人框架侦听器中可访问的最简单方法。
我只想这样称呼机器人:
robot --listener XRayListener.py --variable Mode:A
如何,我现在可以访问 XRayListener.py 中的变量 Mode
解决方案
如本文所述,从侦听器 python 代码中,您可以使用 BuiltIn().get_variables() 来获取给定的变量值。
from robot.libraries.BuiltIn import BuiltIn
ROBOT_LISTENER_API_VERSION = 2
def end_test(name, attributes):
print("BROWSER = '%s'" % BuiltIn().get_variables()['${BROWSER}'])
然后运行它:
robot --listener ShowVariable simple.robot
仅供参考的机器人文件是:
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${URL} https://www.google.com/
${REMOTE_URL} http://192.168.56.1:4444/wd/hub
${BROWSER} Chrome
*** Test Cases ***
Confirm login popup is accessable
#Go To ${URL}
open browser ${URL} ${BROWSER}
set window size 350 800
[Teardown] Close Browser(base
推荐阅读
- angular - SVG 元素在浏览器中呈现但在屏幕上不可见
- npm - 我需要将“.gitignore”中的内容复制粘贴到“.npmignore”吗
- javascript - Node.js Puppeteer - 无法在 page.evaluate 中设置 HTML 元素
- android - 尝试将元素添加到 MutableList 时出现 UnsupportedOperationException
- asp.net - ASP.NET MVC 更改 post 方法以保存 userId
- python - 在 python 中读取 llvm 位码
- java - 通过调用不同的方法增加原始局部变量
- python - 这个脚本在python中的错误是什么
- c# - 将数据从外部应用程序发布到 Angular App 并将结果显示在外部应用程序中作为弹出窗口的有效方法是什么?
- sql - 从两个表中获取数据并在一行中显示,且不带 where 条件的重复项