Как использовать два или более csv-файла в одном файле функций в karate?

#csv #ui-automation #karate

#csv #автоматизация пользовательского интерфейса #karate

Вопрос:

Я подумываю об использовании двух файлов csv в одном файле функций, но не могу этого сделать, используя демонстрационный код для того же:

 
Scenario Outline:
* driver 'https://github.com/login'
* input('#login_field', '<username>')
* input('#password', '<password>')
* submit().click("input[name=commit]")
* match html('#js-flash-container') contains 'Incorrect username or password.'

Examples:
|read('one.csv')|
|read('two.csv')|
 

Здесь <username> хранится в one.csv и <password> хранится в two.csv, есть ли способ, которым мы можем это сделать? Пожалуйста, помогите. Заранее спасибо.

Ответ №1:

Никакое Karate никогда не будет поддерживать это. Но, пожалуйста, обратите внимание, что вы можете создать источник данных в Background .

 Background:
* def one = read('one.csv')
* def two = read('two.csv')
* def data = karate.append(one, two)

Scenario Outline:
* print __row

Examples:
| data |
 

Комментарии:

1. Спасибо за быстрый ответ, я попробовал, но он запускает два экземпляра / сценария, т.Е. Один раз для <username> и в следующий раз для <password> . В то время как ожидается, что оба значения CSV-файла будут получены за один раз.

2. @UncleSam посмотрите — объединение двух файлов JSON в нужную форму зависит от вас. пожалуйста, прочитайте: github.com/intuit/karate#json-transforms — если вы хотите знать мое личное мнение, пожалуйста, даже не используйте csv-файлы, просто используйте обычную таблицу в своей функции и НЕ усложняйте ситуацию. теперь все зависит от вас, всего наилучшего.

3. Согласен @PeterThomas, но использование csv необходимо, поскольку мы получаем динамические данные. Не беспокойтесь, спасибо за помощь.