Мой вопрос касается лучших практик с BDD (Specflow). В веб-приложении, которое я тестирую, я должен написать функцию создания контракта.Лучший способ использовать таблицу с Specflow
Чтобы создать контракт, пользователь должен пройти по 8 вкладок, и для каждой вкладки пользователь вводит более 15 значений (минимум 4, не более 40 значений).
Мое предложение является:
Given Go to the screen "Contrats"
And Click on the button "New contract"
When Enter in Tab1
| Field1 | Field2 | Field3 |
| -----------| ------------| ----------|
And Click on the Next button
And Enter in Tab2
| Field1 | Field2 |
| --------------- | -----------|
And Click on the Next button
And Enter in Tab3
| Field1 | Field2 | Field 3| Field4 | Field5 | Field6 |Field7 |
| -------| -------| ------ | -------- | --------- | -------| ----------------|
And Click on the Next button
And Enter in Tab4
| Field1 | Field2 | Field 3| Field4 | Field5 | Field6 |Field7 | Field8|
| -------| -------| ------ | -------- | --------- | -------| ----------------| ------|
And Click on the Next button
And Enter in Tab5
| Field1 | Field2 | Field 3| Field4 | Field5 | Field6
| -------| -------| ------ | -------- | --------- | -------|
And Click on the Next button
And Enter in Tab6
| Field1 | Field2 | Field3 |
| -----------| ------------| ----------|
And Click on the Next button
And Click on the Next button
And Cliquer sur Oui
And Enter in Tab7
| Field1 | Field2 |
| -----------| ------------|
And Click on confirm enregistration
And Save the contract reference and close the popup
And Click on button No
Then Redirecting the Summary tab
Таким образом, в этом случае для каждой вкладки я должен иметь модель Exemple:
public class Tab1{
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
}
Вопрос: В этой функции я стараюсь для ввода только обязательных полей. Но в других функциях мне нужно вводить иногда больше полей, поэтому в Tab1 я буду вводить, например, 37 полей. Что я могу сделать в этом случае:
1- Создать другую модель ?: у меня будет слишком много моделей
2- создать только одну модель с макс полей, а также для В первой ситуации я установил пустое значение для других полей (Field4-> Field37): Слишком много атрибутов для модели.
3- для каждого блока Tab1 мы создаем класс, как:
public Class Tab1{
public Bloc1 Field1 { get; set; }
public Bloc2 Field2 { get; set; }
public Bloc3 Field3 { get; set; }
public class Bloc1{
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
}
public Class Bloc2{
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
}
.
.
.
}
Но с этим решением Как я могу написать свою функцию ?!
Я думаю, вы не поняли мою проблему, потому что здесь я не пытаюсь проверить что-то с помощью нескольких примеров, но это только один пример, но веб-страница, которую я должен тестировать, содержит несколько полей.Но, о чем вы говорите, у меня есть только 2 имени пользователя и пароль, и я хочу протестировать только эти два поля с несколькими примерами. – user3446229
То, что я предоставил, является лишь примером. Вы можете добавить столько полей тестовых данных, сколько захотите. Как и имя пользователя и пароль, вы можете добавить Field1, Field2, Field3 и т. Д. Я использовал 20+ полей для своих тестов. Если вы хотите, вы можете использовать разные наборы тестовых данных для одного и того же теста. Просто используйте один набор, если нет. –
Также та же проблема, вот как вы будете реализовывать решение, этот шаг. В моем случае я не занимаюсь серфингом, чтобы использовать ** Примеры ** только одну строку, но проблема, с которой я столкнулся, после этого, когда я буду реализовывать это решение я обязан использовать список с 5 полями, моя проблема связана с количеством филей, а не с входами. – user3446229