Это требует подробного объяснения.
Представьте, что у меня есть электронная таблица Excel с тестовыми примерами на одном листе, и я могу ожидать (проверочные) сообщения на другом (в дополнение к ожидаемым сообщениям на первом листе).
Существует также некоторая связь между значениями полей в одном и втором листах.
См.: Добро пожаловать, ‹Имя> ‹Фамилия> в качестве примера.
Вы можете увидеть в поле «Ожидаемые результаты» на листе «Тестовые примеры» значение поля: « Пользователь попадает на страницу «Моя учетная запись», и отображается следующее приветственное сообщение: «& Сообщения! $ B $ 1244 &», где имя — Дэйв, а фамилия — Браун».
поэтому «& Messages! $ B $ 1244 &» обозначает поле B1244 на листе «Сообщения».
Теперь вопрос.
Если мне предоставлены все тестовые примеры, как в приведенном ниже примере для веб-сайта электронной коммерции, как я могу использовать закодированное тестирование пользовательского интерфейса на основе этих входных данных? Могу ли я автоматизировать Excel, использовать шаги в листе тестового примера и объединить это с записью ввода и проверки данных в закодированном пользовательском интерфейсе.
Я считаю, что мне нужно будет выполнить ручное кодирование, частично используя записанные шаги ввода и проверки из закодированного регистратора пользовательского интерфейса и, возможно, используя ручное программирование для проверки. Я хотел бы услышать, если другие сделали что-то подобное.
Я хотел бы включить это в Specflow BDD, написав функцию/пользовательскую историю, и эти тестовые примеры будут сценариями.
Любой успех, мысли об использовании автоматизации тестирования Excel в качестве тестирования, управляемого данными.
Спасибо, Рад.
Test cases worksheet named "Test cases": ===================== Test Case Name Test Case Objective frontstore.01-3 Register a shopper from order confirmation page with valid inputs # Step Data Expected Results ------------------------------------------------------------------------------------------------ 1 Launch the test storefront http://testserver.com/index Welcome page is loaded. 2 Click Sign In link Sign In page is loaded. 3 Click Register under New Customer Register page is loaded. 4 Enter valid inputs and click Submit "Logon ID = TestUser Firstname = John Lastname = Clark ... (other fields) Registration Successful. The user is taken to My Account page and following welcome message is displayed: Welcome, <First Name> <Last Name>, where First name is David and Last Name is Brown." Validation Messages worksheet named "Messages": ===================== #Text used in MyAccountPages --------------------------------------------------------------------------- MA_WELCOME Welcome, <First Name> <Last Name>
После прочтения немного о тестировании закодированного пользовательского интерфейса: Это, безусловно, можно сделать, но данные/предложения, такие как:
"Запустить тестовую витрину"
"Нажмите на ссылку "Войти""
"Регистрация прошла успешно.
Пользователь попадает на страницу "Моя учетная запись"
и отображается следующее приветственное сообщение:
Добро пожаловать, , где Имя
Дэвид, а Фамилия Браун."
содержат как действия, так и данные, поэтому мне нужно детализировать части предложения, чтобы перевести его в действия и привязку к параметрам. Если я хорошо понимаю, привязку данных можно использовать только для привязки значений столбца к некоторым параметрам. Поэтому мне нужен какой-то способ автоматически распознавать значение этих предложений и использовать некоторую привязку из его частей.
Итак, если у меня есть предложение:
«Запустить тестовую витрину», что будет переведено как:
CurrentBrowser.Navigate(Helper.TranslateTargetUrlFrom("тестовая витрина")), где "тестовая витрина" может быть преобразована в http://testserver.com/index главная страница витрины, и я могу игнорировать столбец данных для URL-адреса или я могу захватить ключевое слово Launch, чтобы означать CurrentBrowser.Navigate(ColumnValue(Data)) и игнорировать часть предложения «тестовая витрина».
«Ссылка для входа в систему» может быть переведена как CurrentBrowser.FindLink(«Войти»).Click(),
так что в этом случае мне нужно будет знать, что «Войти» — это текст ссылки, снова мне нужно извлечь «Войти», чтобы означать текст ссылки.
Я вижу это как довольно ручной стиль CodedUI, где я мог бы делать небольшие записи для некоторых действий и полагаться на ручное извлечение терминов из заданных предложений.
Я хотел бы знать, как я могу семантически написать лучшие тестовые примеры, чтобы обеспечить автоматизацию. Мне, вероятно, понадобится какой-то анализатор тестовых случаев свободной формы, который распознает семантическое значение некоторых слов, таких как: щелчок, навигация, запуск, ввод, щелчок под и т. д., и переводит это в код, повторно используя существующие вспомогательные методы и записанные действия и сделать некоторую ручную привязку, но не со всем значением данных в столбце, а с извлеченным значением.
Есть идеи по такой автоматизации?