TestLink导出XML转TestRail格式时无测试用例,如何正确生成?
针对你执行php testlink2testrail.php BarreDeNavigationNouveau.xml BarreDeNavigationNouveauRail.xml后只生成section、无测试用例的情况,可按以下步骤排查解决:
检查TestLink导出的XML文件
打开BarreDeNavigationNouveau.xml,确认文件中存在<testcase>节点。如果没有,说明导出时未选中测试用例:重新导出TestLink数据,务必勾选「包含测试用例」选项,且确保选择了包含测试用例的套件/项目范围。
也可以用命令快速验证:- Linux/macOS:
grep -n "<testcase>" BarreDeNavigationNouveau.xml - Windows:
findstr "<testcase>" BarreDeNavigationNouveau.xml
若返回空结果,直接重新导出即可。
- Linux/macOS:
排查脚本的过滤逻辑
打开testlink2testrail.php,检查是否存在测试用例状态过滤:
比如脚本可能默认只处理active状态的用例,若你的用例是draft或其他状态,会被跳过。找到类似if ($case['status'] == 'active')的代码,修改为包含你需要的状态(比如if (in_array($case['status'], ['active', 'draft']))),或者直接注释掉该过滤条件。
另外,检查脚本是否要求用例必须包含步骤、预期结果等字段,若你的用例缺少这些内容,可能被忽略。可修改脚本中的校验逻辑,放宽必填项要求。验证依赖工具的解析能力
尽管控制台提示配置文件正常,仍需确认parsehtml.php和markdownify.php能否正确解析用例中的HTML内容。若用例描述存在特殊HTML标签(比如嵌套复杂的表格、自定义标签),可能导致解析失败,脚本会跳过该用例。可临时在脚本中添加日志输出,打印解析失败的用例ID或内容,定位具体问题用例后调整格式。小范围测试定位问题
导出TestLink中一个仅包含2-3个测试用例的小型XML文件,用脚本转换。若能正常生成测试用例,说明原XML存在格式异常或特殊内容,需要逐步排查原文件中的问题用例,排除后再批量转换。
内容的提问来源于stack exchange,提问作者Morad.EL

