teamcity机器人框架插件

2024-09-30 05:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过teamcity build运行机器人框架测试。我可以将结果log.html放入工件中。但是在teamcity for robot框架中是否有插件,这样我就可以在项目中填充结果了?在

更新

非常感谢!我在套件中添加了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和它们{}我需要在teamcity方面添加什么吗?在运行pybot之前,我正在ssh进入机器,也许这就是原因?在


Tags: 项目namepybuild框架loghtmlstdout
1条回答
网友
1楼 · 发布于 2024-09-30 05:16:01

TeamCity有一个用于集成外部工具的API。简而言之,如果您的测试以TeamCity定义的格式打印结果,TeamCity将在仪表板上显示结果。在

可以在此处找到此API的概述:https://confluence.jetbrains.com/display/TCDL/Build+Script+Interaction+with+TeamCity

我的方法是创建一个自定义侦听器。在它中,各种方法(start_suiteend_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()

其他方法几乎相同,只是与写入stdout的实际文本不同。在

然后,在运行测试时,我们使用此侦听器并关闭默认输出:

^{pr2}$

您将需要以类似的方式实现侦听器的其他一些方法。例如,end_test和{}是报告测试成功或失败的地方。您还可以使用log_message将错误消息显示在teamcity仪表板中。在

相关问题 更多 >

    热门问题