在 A 服务器部署了 pytest 方式组织的接口测试用例,现在需要从Jenkins中构建,并通过 allure 插件生成报告。
添加一个 job ,并配置 ssh 到 A 服务器上,执行相关脚本。
但在 job 执行过程中,可以成功调用 A 服务器上的脚本并执行,但在生成 allure 报告时始终报:allure-results does not exists。
一开始的时候解决的思路错了,一直以为是Jenkins的配置问题(刚好网上搜到说Jenkins 在配置allure 的时候有个bug ,所以一直在这个方向折腾)
后来认真看log 发现以下问题:
[attach]123902[/attach]
也就是说,job 在 A 服务器上执行并生成了 allure 的test result 之后就断开了连接, 所以在生成报告的时候是不可能获取到这些 test result的。
认真想一下后明白了:
job 执行的脚本生成的 result 是在 A 服务器上, 而生成报表的时候是从 Jenkins 的服务器上获取对应文件,所以找不到。
将A 服务器添加为 Jenkins 的其中一个 node 节点,并指定 这个 job 只在这个节点上执行。
[attach]123903[/attach]
问题虽然解决了,但感觉应该会有其他简单点的解决方法,希望有这方面的大神看到可以给点指点!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |