问题陈述:每个服务都有一个单独的存储库。跨几个服务存储库使用公共框架的最佳方式是什么?
我们试图使用“空手道”创建一个应用编程接口测试自动化框架。在这里,我们希望创建一个框架(它可以被分发(例如:jar)),这样它就可以在所有的微服务项目存储库中使用。
作为空手道的创造者,我强烈建议你不要这样做。从长远来看,这使得你的所有项目都依赖于一个共同的框架——你应该努力减少“原生”框架的创建。特别是对于测试框架,您应该尽量不要强迫团队依赖于您需要维护和版本控制的额外库。重用可能弊大于利,尤其是在测试环境中,请参阅Google测试博客上的这篇文章。
也就是说,因为空手道可以从类路径中读取文件:
,所以你可以“运送”一个带有公共Java类的JAR文件,甚至是所有项目都可以继承或“重用”的特性或JS文件。事实上,karate-base.js
被html" target="_blank">设计用于解决公共引导逻辑或从JAR文件提供的变量/参数。
简短回答:使用普通Java技术(Maven/Gradle)创建一个可重用的JAR文件。有多种方法可以使用JAR文件中的资源(Java,*.feature
,JS)。如何构建Maven(或Gradle)项目以实现这一目标,取决于您。
编辑:对于那些寻找如何创建“可运行”JAR的人,请参见https://stackoverflow.com/a/56553194/143475
我95%的自动化框架是在空手道,工作得很好。我们需要检查应用程序日志中显示的中间结果的功能很少(不在Json响应中)。我写了一个外壳脚本,它在从邮递员手动发送请求后验证Linux机器上的应用程序日志。我使用eclipse的JSCH库调用这个脚本。 有没有什么方法可以让我从空手道发送请求,然后调用我的JSCH类进行验证,这样就可以避免手动发送请求的步骤? 谢谢,阿比
我想使用“faker”库在JSON文件中生成假数据,如下所示。 空手道配置。js,我做了以下工作: 在sample.json: 但我在“空手道配置”中遇到了类似“找不到”require“关键字的错误。js' 请帮忙。
英文版的情景工作完美。但是在俄文版本中,它看起来像是空手道FeatureParser不知道本地化的标记而失败了。以下是错误日志: 特征文件的英文版本: 特写文件的俄文版本: 我该怎么做才能修好它?
我们有Web服务开发使用。NET和一些服务使用basicHttpBinding-和一些使用wsHttpBinding-。 通过使用空手道框架,使用basicHttpBinding的服务可以很好地执行,但不会执行wsHttpBinding。正在获取响应代码415。 通过在SoapUI端执行以下操作,使用wsHttpBind的相同服务在另一个工具(如SoapUI)中执行得很好。 选中启用WS-A寻址
日安!我最近了解了空手道框架,在做API测试的时候,我一直在使用Rest assured。在看到空手道的简单性而不是放心地为API编写测试时,希望切换到空手道并实现相同的操作。尝试了用于API测试的空手道示例,它起作用了,但现在我想知道如何定制我的测试自动化框架,使API与空手道和Cucumber for Selenium UI一起使用。 附注:我知道如果我改变我的空手道放心,我仍然可以去与黄瓜跑
我是银行领域帐户的自动化测试员。我有个问题需要你的帮助。 当前的方法: 1.我们用于API服务测试的框架是使用RESS assured的基于Java的Serenity-Cucumber框架。 2.与该框架相关的所有脚本开发/脚本维护活动都由我们团队中的自动化测试人员负责。 3.几周前,我们了解了空手道框架并完成了PoC(概念验证)。 4.一切顺利,我们正在计划迁移现有的RESS assured J