Cucumber Framework 迁移——现有的放心到 Karate Framework
Cucumber Framework Migration - Existing Rest Assured to Karate Framework
我正在担任银行域帐户的自动化测试员。我有一个问题需要你的帮助。
当前方法:
1.The 我们用于 API 的框架 - 服务测试基于 Java - Serenity - 使用 Rest Assured 的 Cucumber 框架。
2.All 与此框架相关的脚本 development/script 维护活动由我们团队中的自动化测试人员负责。
3.Few 几周前,我们了解了 Karate 框架并完成了 PoC(概念验证)。
4.All 进展顺利,我们正在计划迁移我们现有的放心 java 代码空手道框架。
迁移的原因 - 空手道框架 Api 服务测试可以由手动测试人员进行,因为 well.So 我们正在计划迁移.
查询
- 我们已经开发了将近 80 个 Web 服务,放心并且 运行ning 成功。
- 同样对于迁移,所有服务都是相互依赖的。所以我们必须同时使用 Res-assured 和 Karate 框架代码,除非它已完全迁移。
- 无法立即迁移所有服务,需要时间。
- 是否可以运行空手道框架和Rest Assured Java代码在同一个场景中。
空手道特征文件中给出的场景:
给定 urlCustomerservices
当方法 get
然后状态200
- def getCustIDfromUserservices=newcallJavaFunction().getcustid("用户","密码")
打印 getCustIDfromUserservices
这个“getcustid”有“Post”调用服务获取客户号码的放心java代码。
当我在代码空手道框架中运行宁此时,收到此错误 -
"io.restassured.internal.RequestSpecificationIMpl.invokeMethod(java/lang/String;Ljava/lang/object;)Ljava/lang/object;
这方面有什么帮助吗?我们是否可以 运行 在 karate 框架的同一场景中同时使用 karate 和 Rest assured 代码。如果是,为什么会出现此错误,当我试图在放心中获得响应时。
首先我会说这不是我们声称支持的东西 :) 所以你要靠自己。
也就是说,这听起来像是一个简单的库冲突。我的猜测是您现有的 Maven pom.xml
有很多浮动的库。您将需要做一些调查并找出您需要做什么 maven exclusions
或哪些库需要指定明确的版本。如果幸运的话,从 karate-apache
切换到 karate-jersey
可能会成功。
另外,我强烈建议创建一个空手道快速入门,然后在“hello world”模式下一个一个地添加额外的东西,看看是什么导致了问题。使用 mvn dependency:tree
命令并查看空手道项目与您的项目之间的差异。如果您知道如何使用 Maven 配置文件,那可能是一种可行的方法。祝一切顺利!
最坏的情况,退回到 2 个 maven 模块和 运行 2 test-suites,这很好而且不是世界末日。您可以逐步迁移。
编辑 - 另见
我正在担任银行域帐户的自动化测试员。我有一个问题需要你的帮助。
当前方法:
1.The 我们用于 API 的框架 - 服务测试基于 Java - Serenity - 使用 Rest Assured 的 Cucumber 框架。
2.All 与此框架相关的脚本 development/script 维护活动由我们团队中的自动化测试人员负责。
3.Few 几周前,我们了解了 Karate 框架并完成了 PoC(概念验证)。
4.All 进展顺利,我们正在计划迁移我们现有的放心 java 代码空手道框架。
迁移的原因 - 空手道框架 Api 服务测试可以由手动测试人员进行,因为 well.So 我们正在计划迁移.
查询
- 我们已经开发了将近 80 个 Web 服务,放心并且 运行ning 成功。
- 同样对于迁移,所有服务都是相互依赖的。所以我们必须同时使用 Res-assured 和 Karate 框架代码,除非它已完全迁移。
- 无法立即迁移所有服务,需要时间。
- 是否可以运行空手道框架和Rest Assured Java代码在同一个场景中。
空手道特征文件中给出的场景:
给定 urlCustomerservices
当方法 get
然后状态200
- def getCustIDfromUserservices=newcallJavaFunction().getcustid("用户","密码")
打印 getCustIDfromUserservices
这个“getcustid”有“Post”调用服务获取客户号码的放心java代码。
当我在代码空手道框架中运行宁此时,收到此错误 - "io.restassured.internal.RequestSpecificationIMpl.invokeMethod(java/lang/String;Ljava/lang/object;)Ljava/lang/object;
这方面有什么帮助吗?我们是否可以 运行 在 karate 框架的同一场景中同时使用 karate 和 Rest assured 代码。如果是,为什么会出现此错误,当我试图在放心中获得响应时。
首先我会说这不是我们声称支持的东西 :) 所以你要靠自己。
也就是说,这听起来像是一个简单的库冲突。我的猜测是您现有的 Maven pom.xml
有很多浮动的库。您将需要做一些调查并找出您需要做什么 maven exclusions
或哪些库需要指定明确的版本。如果幸运的话,从 karate-apache
切换到 karate-jersey
可能会成功。
另外,我强烈建议创建一个空手道快速入门,然后在“hello world”模式下一个一个地添加额外的东西,看看是什么导致了问题。使用 mvn dependency:tree
命令并查看空手道项目与您的项目之间的差异。如果您知道如何使用 Maven 配置文件,那可能是一种可行的方法。祝一切顺利!
最坏的情况,退回到 2 个 maven 模块和 运行 2 test-suites,这很好而且不是世界末日。您可以逐步迁移。
编辑 - 另见