使用RobotFramework Ride推送测试结果至KiwiTCMS遇问题求助
问题描述
我正尝试让RobotFramework(RIDE)与KiwiTCMS配合使用,已成功连接本地Kiwi服务器,但出现以下错误,不确定应在RIDE还是.conf文件中修复:
[ ERROR ] Calling method 'start_suite' of listener 'zealand.listener.KiwiTCMS' failed: ENVIRONFILE Version value not defined, missing one of TCMS_PRODUCT_VERSION, TRAVIS_COMMIT, TRAVIS_PULL_REQUEST_SHA or GIT_COMMIT [ ERROR ] Calling method 'end_test' of listener 'zealand.listener.KiwiTCMS' failed: TypeError: 'NoneType' object is not subscriptable TestKiwiRide | PASS | ------------------------------------------------------------------------------ KiwiTest.TestKiwi | PASS | 1 test, 1 passed, 0 failed ============================================================================== KiwiTest | PASS | 1 test, 1 passed, 0 failed ============================================================================== Output: C:\Users\hendri\Documents\KiwiTest\output.xml Log: C:\Users\hendri\Documents\KiwiTest\log.html Report: C:\Users\hendri\Documents\KiwiTest\report.html (kiwi-env) C:\Users\hendri\Documents\KiwiTest>
解决方案
这两个错误是连锁问题,核心是缺少版本相关的环境变量导致KiwiTCMS监听器初始化失败,进而触发后续的NoneType错误。按以下步骤修复:
1. 设置必填环境变量
根据错误提示,需设置以下任意一个变量:
TCMS_PRODUCT_VERSION:直接指定产品版本(如1.0.0)GIT_COMMIT:当前代码的Git提交哈希- 若使用Travis CI,可选
TRAVIS_COMMIT或TRAVIS_PULL_REQUEST_SHA
两种设置途径:
途径一:命令行临时设置(当前虚拟环境)
在你当前的kiwi-env环境中执行:
set TCMS_PRODUCT_VERSION=1.0.0
途径二:RIDE运行配置中添加
- 打开RIDE,进入测试套件的「Run」标签页
- 找到「Environment variables」选项,点击「Edit」
- 添加键值对:
TCMS_PRODUCT_VERSION=1.0.0
2. 验证修复效果
重新运行测试套件,若第一个错误消失,第二个TypeError也会自动解决——因为监听器能正常初始化,不会再出现None对象的下标调用问题。
3. 持久化配置(可选)
若不想每次运行都手动设置,可把环境变量添加到:
- KiwiTCMS的配置文件(如
kiwi.conf)中 - 或者Windows系统环境变量:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在用户变量中添加对应键值对
内容的提问来源于stack exchange,提问作者Hendri
相关产品推荐
相关产品推荐

