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 我们正在计划迁移.

查询

  1. 我们已经开发了将近 80 个 Web 服务,放心并且 运行ning 成功。
  2. 同样对于迁移,所有服务都是相互依赖的。所以我们必须同时使用 Res-assured 和 Karate 框架代码,除非它已完全迁移。
  3. 无法立即迁移所有服务,需要时间。
  4. 是否可以运行空手道框架和Rest Assured Java代码在同一个场景中。

空手道特征文件中给出的场景:
给定 urlCustomerservices
当方法 get
然后状态200

这个“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,这很好而且不是世界末日。您可以逐步迁移。

编辑 - 另见