我是银行域帐户的自动化测试人员。我有一个问题,需要你的帮助。
当前方法:
1.我们用于API服务测试的框架是基于Java的-Serenity-Cucumber框架,使用Rest Assured
2.与此框架相关的所有脚本开发/脚本维护活动都由我们团队中的自动化测试人员负责
3.几周前,我们了解了空手道框架,并完成了PoC(概念验证(
4.一切顺利,我们计划迁移现有的放心java代码Karate框架
迁移的原因-手动测试人员也可以进行Karate框架Api服务测试。因此,我们正在制定移民计划。
查询
- 我们已经在放心中开发了近80个web服务并成功运行
- 同样对于迁移,所有服务都是相互依赖的。因此,我们必须同时使用Res-sensured和Karate框架代码,除非它被完全迁移
- 无法立即迁移所有服务,这是一项耗时的工作
- 是否可以在同一场景中运行karate框架和Rest-Assered Java代码
Karate功能文件中给出的Scnario:
given urlCustomerservices
When method get
Then status 200
- def getCustIDfromUserservices=newcallJavaFunction((.getcustid("用户","密码"(打印来自用户服务的getCustID
这个";getcustid"具有"放心"的java代码;张贴";打电话给客服获取客户号码。
当我在代码空手道框架中运行这个时,会得到这个错误-"io.ressured.internal.RequestSpecificationIMpl.invokeMethod(java/lang/String;Ljava/lang/object;(Ljava/lang/object
这方面有什么帮助吗。我们是否可以在空手道框架中的同一场景中同时运行空手道和放心代码。如果是,当我试图在"放心"中获得响应时,为什么会出现此错误。
首先我要说的是,这不是我们声称支持的:(所以你只能靠自己了。
也就是说,这听起来像是一场简单的图书馆冲突。我猜您现有的Mavenpom.xml
有很多库。您需要做一些调查,找出您需要做什么mavenexclusions
,或者哪些库需要指定显式版本。如果你运气好的话,从karate-apache
切换到karate-jersey
可能会奏效。
此外,我强烈建议创建一个空手道快速入门,然后在";你好世界";模式,并查看问题的原因。使用mvn dependency:tree
命令,查看空手道项目与您的项目之间的差异。如果你知道如何使用Maven概要文件,那可能是一种方法。祝你一切顺利!
最坏的情况是,回到2个maven模块并运行2个测试套件,这很好,而不是世界末日。你可以逐渐迁移。
编辑-另请参阅https://stackoverflow.com/a/65628686/143475