【问题标题】:Cucumber Framework Migration - Existing Rest Assured to Karate FrameworkCucumber 框架迁移 - 现有的放心到空手道框架
【发布时间】:2020-10-03 09:08:07
【问题描述】:

我是银行域帐户的自动化测试员。我有一个问题需要您的帮助。

目前的方法:
1.我们用于 API-Services 测试的框架是基于 Java 的 - Serenity -Cucumber 框架,使用 Rest Assured。
2.与该框架相关的所有脚本开发/脚本维护活动均由我们团队的自动化测试人员负责。
3.几周前,我们了解了空手道框架并完成了PoC(概念证明)。
4.一切顺利,我们正在计划迁移我们现有的放心java代码空手道框架。

迁移的原因 - 空手道框架 Api 服务测试也可以由手动测试人员完成。所以我们正在计划迁移。

查询

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

空手道功能文件中给出的场景:
给定 urlCustomerservices
当方法获取
然后状态 200

  • def getCustIDfromUserservices=newcallJavaFunction().getcustid("user","password") 打印 getCustIDfromUserservices

这个“getcustid”有“邮政”呼叫服务的放心java代码来获取客户号码。

当我在代码空手道框架中运行它时,得到这个错误 - "io.restassured.internal.RequestSpecificationIMpl.invokeMethod(java/lang/String;Ljava/lang/object;)Ljava/lang/object;

对此有何帮助。我们是否可以在空手道框架的同一场景中同时运行空手道和放心代码。如果是,为什么会出现这个错误,当我试图在“放心”中得到响应时。

【问题讨论】:

  • @ptrthomas,你能帮忙吗?

标签: cucumber karate rest-assured


【解决方案1】:

首先我要说的是,这不是我们声称支持的东西 :) 所以你只能靠自己了。

也就是说,这听起来像是一个简单的库冲突。我的猜测是您现有的 Maven pom.xml 有很多库在浮动。您需要进行一些调查并找出您需要做什么 maven exclusions 或哪些库需要指定显式版本。如果幸运的话,从 karate-apache 切换到 karate-jersey 可能会成功。

另外我强烈建议创建一个空手道快速入门,然后在“hello world”模式中一一添加额外的东西,看看是什么导致了问题。使用mvn dependency:tree 命令查看空手道项目与您的项目之间的差异。如果您知道如何使用 Maven 配置文件,那可能是一种方法。万事如意!

最坏的情况,回退到 2 个 maven 模块并运行 2 个测试套件,这很好,而不是世界末日。您可以逐步迁移。

编辑 - 另见https://stackoverflow.com/a/65628686/143475

【讨论】:

  • 感谢@Peter Thomas 的更新。让我试试 Karate-jersey 并在此处更新状态。
  • 这很神奇,能够在空手道框架的同一场景中将空手道框架与放心的 java 代码集成并执行。正如您所建议的,原因是我的 pom.xml 是库。感谢大师,生活的滋味。
猜你喜欢
  • 1970-01-01
  • 2020-06-21
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 2021-06-27
  • 2019-03-19
  • 1970-01-01
相关资源
最近更新 更多