我需要对JSON响应的结果执行两个操作。那么我们可以在单个JS文件中包含那些不同的操作吗?或者我们是否需要像一个JS文件一样映射一个操作。 请帮助解决这个问题
答案 0 :(得分:3)
我不建议尝试在空手道中创建复杂的JavaScript,这只会导致可维护性问题。如果你真的想要一个带有多个实用程序方法的对象,那么用静态方法编写一个Java类,维护/调试就会容易得多。
那就是说,如果你真的坚持 - 看看这个答案:https://stackoverflow.com/a/47002604/143475
但这是我对大多数项目的建议。在一个“常用”功能文件中,定义多个方法,如下所示:
* def now = function(){ return java.lang.System.currentTimeMillis() }
* def uuid = function(){ return java.util.UUID.randomUUID() + '' }
您现在可以像这样调用此功能:
* call read('common.feature')
现在该功能的所有功能都可以使用:
* def time = now()
* def id = uuid()
答案 1 :(得分:0)
@kmancusi这是我使用常用功能制作的common.feature
文件的方法,然后下面的my.test.feature
显示了如何导入该文件以将其用于其他功能。
常用功能
@ignore
Feature:
Scenario:
* def now =
"""
function() {
return java.lang.System.currentTimeMillis()
}
"""
* def uuid =
"""
function() {
return java.util.UUID.randomUUID() + ''
}
"""
我的测试功能
Feature: my tests
Background:
* configure logPrettyRequest = true
* configure logPrettyResponse = true
* configure ssl = true
Scenario: basic test
* def util = call read('common.feature')
* def sessionId = util.uuid()
* print sessionId