У меня есть один сценарий, который должен зациклить массив в качестве параметра запроса и передать несколько отдельных файлов последовательных объектов, я кодирую это с помощью цикла javascript, однако я обнаружил, что вторая функция не может видеть переменную, определенную впервая функция.
test1.feature
Feature: test1.feature
Scenario: test1.feature
* def batch = 'define batch in test1 feature'
* print ' test1 feature print batch: ',batch
test2.feature
Feature: test2 feature
Scenario: test2 feature
* print 'print batch in test2 feature: ', batch
цикл.js
function fn(arr){
for (var i = 0; i < arr.length; i++) {
// var labName = arr[i];
var res1 = karate.call('test1.feature');
var res2 = karate.call('test2.feature');
}
}
demo.feature
Feature: 循环读取所有的实验项目
Scenario: 循环读取所有实验项目-配置文件
* def arr = ['a','b']
* def fun = read('loop.js')
* call fun(arr)
, чтобы запустить его, моему test2.feature требуется значение 'batch' вtest1.feature при циклическом вызове javascript, однако пакет не может быть виден в test2.feature