#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 необходимо, поскольку мы получаем динамические данные. Не беспокойтесь, спасибо за помощь.