用于 teamcity 的机器人框架插件
robot framework plugin for teamcity
我正在通过 teamcity 构建 运行ning 机器人框架测试。我可以将结果 log.html
转化为工件。但是 teamcity 中是否有任何用于机器人框架的插件,以便我可以在项目中填充结果?
更新
非常感谢!我在套件中添加了 py 文件,如下所示
class TeamCityListener():
ROBOT_LISTENER_API_VERSION = 2
def start_suite(self, name, attrs):
sys.__stdout__.write("##teamcity[testSuiteStarted name='{name}']\n".format(name=name))
print 'hi'
sys.__stdout__.flush()
我从 teamcity 中将其称为 pybot --listener TeamCityListener.py --console none test.robot
但是当我在项目中 运行 我看到 Step 1/1
并且他们 Success
我是否必须在 teamcity 端添加任何内容?在 运行ning pybot
我 ssh
进入机器之前,也许这就是原因?
TeamCity 有一个 API 用于集成外部工具。简而言之,如果您的测试以 TeamCity 定义的格式打印结果,TeamCity 将在仪表板上显示结果。
可在此处找到此 API 的概述:https://confluence.jetbrains.com/display/TCDL/Build+Script+Interaction+with+TeamCity
我采用的方法是创建自定义侦听器。其中,各种方法(start_suite
、end_suite
等)都只是以给定的格式发出消息。
例如,start_suite
侦听器方法如下所示:
class TeamCityListener():
...
def start_suite(self, name, attrs):
sys.__stdout__.write("##teamcity[testSuiteStarted name='{name}']\n".format(name=name))
sys.__stdout__.flush()
其他方法几乎相同,只是写入标准输出的实际文本不同。
然后,当 运行 我们的测试使用这个侦听器并关闭默认输出时:
pybot ... --listener TeamCityListener.py --console none ...
您将需要以类似的方式实现侦听器的其他一些方法。例如,end_test
和 end_suite
是您报告测试成功或失败的地方。您还可以使用 log_message
在团队城市仪表板中显示错误消息。
我正在通过 teamcity 构建 运行ning 机器人框架测试。我可以将结果 log.html
转化为工件。但是 teamcity 中是否有任何用于机器人框架的插件,以便我可以在项目中填充结果?
更新
非常感谢!我在套件中添加了 py 文件,如下所示
class TeamCityListener():
ROBOT_LISTENER_API_VERSION = 2
def start_suite(self, name, attrs):
sys.__stdout__.write("##teamcity[testSuiteStarted name='{name}']\n".format(name=name))
print 'hi'
sys.__stdout__.flush()
我从 teamcity 中将其称为 pybot --listener TeamCityListener.py --console none test.robot
但是当我在项目中 运行 我看到 Step 1/1
并且他们 Success
我是否必须在 teamcity 端添加任何内容?在 运行ning pybot
我 ssh
进入机器之前,也许这就是原因?
TeamCity 有一个 API 用于集成外部工具。简而言之,如果您的测试以 TeamCity 定义的格式打印结果,TeamCity 将在仪表板上显示结果。
可在此处找到此 API 的概述:https://confluence.jetbrains.com/display/TCDL/Build+Script+Interaction+with+TeamCity
我采用的方法是创建自定义侦听器。其中,各种方法(start_suite
、end_suite
等)都只是以给定的格式发出消息。
例如,start_suite
侦听器方法如下所示:
class TeamCityListener():
...
def start_suite(self, name, attrs):
sys.__stdout__.write("##teamcity[testSuiteStarted name='{name}']\n".format(name=name))
sys.__stdout__.flush()
其他方法几乎相同,只是写入标准输出的实际文本不同。
然后,当 运行 我们的测试使用这个侦听器并关闭默认输出时:
pybot ... --listener TeamCityListener.py --console none ...
您将需要以类似的方式实现侦听器的其他一些方法。例如,end_test
和 end_suite
是您报告测试成功或失败的地方。您还可以使用 log_message
在团队城市仪表板中显示错误消息。