Выполнение SQL-запроса, возвращение объектов ответа в виде массива. Мне нужно знать, как создать цикл для чтения каждой записи, возвращенной - PullRequest
2 голосов
/ 04 ноября 2019

Я выполняю SQL-запрос и возвращаю объекты в виде массива в каратэ. Я знаю, как читать первую запись / возвращенную строку. Мне нужно знать, как создать цикл для чтения всех записей, по одной за раз.

Вот начало вызова SQL-запроса, и я назначаю объекты переменным.

Scenario Outline: Premium-IC or IR Invoice Type  
* def op_ic_ir_query = karate.readAsString('classpath:Payments/
CSC_Payments_API/Queries/qry_Get_Overpayment_IC_IR.txt')
* def OP1 = Stardb.readRows(op_ic_ir_query)
* def OP_cpid = OP1[0].CONTRACT_PAYMENT_ID
* def OP_cid = OP1[0].CONTRACT_ID
* def OP_iid = OP1[0].INVOICE_ID
* def OP_Idate = OP1[0].INVOICE_DATE
* def OP_dtp = OP1[0].DATE_TO_PROCESS
* def transactionAmt = OP1[0].TRANSACTION_AMOUNT
* def invoiceAmt = OP1[0].INVOICE_AMOUNT
* def taxAmt = OP1[0].TAX_AMOUNT
* def paidAmt = OP1[0].PAID_AMOUNT

Следующим шагом является расчет суммы переплаты.

# Calculate overpayment_amount - need to keep rolling total for 
overpayment amount.
* def overpaymentAmt1 = (transactionAmt - ((invoiceAmt + taxAmt) - 
paidAmt))

1 Ответ

0 голосов
/ 04 ноября 2019

Вот способы сделать петли в каратэ:

1) Scenario Outline и Examples

2) Использование call ивторой файл функций

3) Использование JS

В зависимости от того, что вы хотите сделать, возможно, вам следует выполнить цикл в самом коде Java, если это упрощаетвещи.

Я бы порекомендовал (2), так как у вас есть динамический массив, который нужно перебрать. Так что если foo это массив JSON-ов:

* def result = call read('second.feature') foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...