TestLink做为开源测试管理工具,能够进行测试工程、测试计划以及执行计划的管理,并且TestLink团队提供了XML-PRC的接口供第三方工具调用,接口支持程度也比较好。java
Fitnesse做为开源验收测试框架,自己能够作到测试集、测试用例的执行,有较为优秀的测试执行行为的管理以及测试结果的收集。git
因为Testlink大部分场合下是用于手工测试用例的管理,为了可以是Testlink对于测试用例管理的优势也用于Fitnesse上自动化测试用例的管理,也为了可以让手工测试用例和自动化回归测试用例mapping起来,方便测试管理者可以清晰知道自动化测试用例在测试项目中的比例,也为了测试管理者能够较好的管理回归测试流程,考虑将Fitnesse和Testlink进行集成。api
两个平台集成的基本思路是: 1. 将Testlink上的用例和Fitnesse上的用例一一mapping. 2. 将Fitnesse上用例的执行结果可以实时反馈给Testlink上用例的执行结果。架构
Testlink Java api client提供了一个很是好的接口,app
reportTestCaseResult(projectName,testPlanName,testCaseNameOrVisiableID,buildName,execNotes,testResultStatus)
该接口有6个参数,其中框架
projectName: Testlink上对应的测试工程名称工具
testPlanName:Testlink上测试工程对应的测试计划测试
testCaseNameOrVisiableID: Testlink上测试用例的名称或ID,这里的ID是指测试项目前缀加上'-'在加上阿拉伯数字ui
buildName:Testlink上对应测试计划的构建执行计划3d
execNotes:是指每一个case执行后的备注,能够为null
testResultStatus:是指测试用例执行结果,'p'或者'f'
经过调用给接口,咱们能够完成测试用例执行结果的传递。
接下去咱们要解析Fitnesse执行结果的分析:
在这里我经过一个代理proxy来完成该任务,该代理须要完成Fitnesse测试执行结果的解析,测试用例ID的解析,而后完成TestLink接口的调用
以下图所示整体架构:
固然个人proxy还作了其余的事情,能够完成和Jenkins之间集成和调用。下图是最终完成的事列
上图备注是测试用例在fitnesse上的具体执行结果,能够点击查看失败用例的缘由。
经过这个方法能够完成自动化测试用例和手工测试用例之间的mapping,也可让测试人员了解哪些用例是能够经过自动化实现的。
总之使用Testlink java client api能够实现不一样测试平台之间的集成,方便工具和用例的统一管理。
关于proxy代码有兴趣的话,能够上个人git hub主页获取。