当前位置: 首页 > 知识库问答 >
问题:

在空手道DSL中,是否有一种方法为“给定”步骤定义自定义关键字

广昊昊
2023-03-14

我正在做一个空手道DSL项目。我有2个依赖的(A和B)SOAP事务正在测试。第一个事务,即A需要在我的第二个事务B之前完成。我可以通过从B调用A的特征文件来完成这一点。

我当前的代码如下所示:

Background:
* url = https://www.abcshgda.com/service
* def result = call read(A.feature)

Scenario: B needs to run once the prerequisite A is completed.

Given request read(B_req.xml)
When soap action ''
Then status 200

但我真正想做的是这样的事情:

Given A
When SOAP ''
Then status 200

既然空手道是DSL,有没有一种方法我可以做到上面的,而不实际使用预定义的关键字请求和读取请求XML。相反,在后台有一个do that。

非常感谢任何帮助。

共有1个答案

百里默
2023-03-14

不,这是一个经过深思熟虑的设计决定,如果您想了解更多细节,请阅读以下文章:https://github.com/intuit/karate/issues/398

空手道似乎对你来说已经很好了,我的意见是你没有必要试图使它“看起来更易读”,但你真的不会从我的经验中获得任何东西。

如果您定义了一个负责执行“a”的JS函数(或Java实用程序),那么您最多只能这样做:

Given eval myJsFunctionThatCallsA()
And request read('B_req.xml')
When soap action ''
Then status 200
 类似资料:
  • 我试图按照这篇文章将cucumber规格与IntelliJ中的步骤定义相匹配。 当我按Alt Enter时,我看到检查未定义的步骤选项。但是,我应该看到意图操作创建步骤定义。 我想我已经安装了Cucumber IntelliJ插件,所以这应该不是问题。非常感谢任何帮助。

  • 本文向大家介绍Android 自定义View步骤,包括了Android 自定义View步骤的使用技巧和注意事项,需要的朋友参考一下 例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放。 一个设计良好的自定义view和其他设计良好的类很像。封装了某个具有易用性接口的功能组合,这些功能能够有效地使用CPU和内存,并且十分开放的。但是,除了开始一个设计良好

  • 我想在Java界面中定义cucumber测试步骤定义。 2其他类将实现此接口: 我有TestFactory类,它获取带有环境名称(Android或Apple)的属性并初始化对象: 问题:Cucumber通过名称获取所需的步骤,而不引用对象。采取< code > Landing _ Screen _ is _ visible()而非< code >步骤。land _ Screen _ is _ vi

  • 如果我想做以下事情: 它将在两种情况下评估变量,因此在其中一种情况下,我得到类似第1个场景和在第二个场景中。 如果可能的话,我会避免硬编码这个值,我读过关于的文章,但没有使用它,有一个独立的文件来生成时间戳听起来很有趣。 我正在使用空手道网络,你对如何实现这一点有建议吗?:) 谢谢

  • TL:DR控制台不显示缺少步骤的步骤正则表达式 编辑:添加功能文件

  • 本文向大家介绍SpringBoot中自定义参数绑定步骤详解,包括了SpringBoot中自定义参数绑定步骤详解的使用技巧和注意事项,需要的朋友参考一下 正常情况下,前端传递来的参数都能直接被SpringMVC接收,但是也会遇到一些特殊情况,比如Date对象,当我的前端传来的一个日期时,就需要服务端自定义参数绑定,将前端的日期进行转换。自定义参数绑定也很简单,分两个步骤: 1.自定义参数转换器 自定