Как создать структурированное автоматическое тестирование с помощью selenium (junit или testng)?Какова ваша наилучшая практика для этого?

StackOverflow https://stackoverflow.com/questions/1326783

Вопрос

Я написал тесты, которые используют selenium для функционального тестирования.Я использую Java.Я хотел бы иметь возможность создавать структуру между тестами.Можно ли это сделать с помощью JUnit или TestNG?

Хотел бы иметь возможность создать тестовую структуру, которая будет выдавать отчет, подобный этому:

Top test FAIL
- Module1 test PASS
-- Module1Class1 test PASS
-- Module1Class2 test PASS
--- Module1Class3Method1 test PASS
--- Module1Class3Method2 test PASS
- Module2 test FAIL
-- Module2Class1 test FAIL
--- Module2Class1Method1 test PASS
--- Module2Class1Method2 test FAIL
--- Module2Class1Method3 test PASS
Это было полезно?

Решение 5

Я только что нашел решение для этого вопроса, поэтому размещаю здесь ссылку, чтобы другие могли извлечь из этого пользу.beust.com Хотя я этого еще не пробовал.

Обновить: Попробовав это, я могу получить следующие результаты:

Module1.Class3.Method1 PASS
Module1.Class3.Method2 PASS
Module2.Class1.Method1 PASS
Module2.Class1.Method2 FAIL
Module2.Class1.Method3 PASS

Имя метода сбоя - "Method2", он находится в классе "Class1" и является пакетом "Module2".

Я использовал все стандартные возможности TestNG (их много) + я перезаписал TestListenerAdapter, используя методы ITestResult:getName() и getTestClass().getName()

На самом деле это не та структура, которую я искал, но небольшой синтаксический анализ может подсказать мне, где произошел сбой.И в качестве плюса мне не нужно называть методы с именем класса и пакета в нем.

Другие советы

Лучший шаблон, который я видел для организации кода, лежащего в основе тестов selenium, - это шаблон объекта страницы:

http://blog.m.artins.net/acceptance-tests-with-jbehave-selenium-page-objects/

Вот вспомогательная библиотека Java:

http://code.google.com/p/webdriver/wiki/PageFactory

Вы не можете, потому что это не тот формат, в котором Selenium интерпретирует тесты.Selenium поддерживает несколько различных языковых синтаксисов, самыми простыми из которых являются строки таблиц JS и HTML.Вы могли бы использовать функцию записи Selenium IDE из Firefox, если вы не хотите вручную писать свои тесты в соответствии с определенным синтаксисом языка.

рассматривали ли вы возможность использования Selenium Remote Control?http://seleniumhq.org/projects/remote-control/

Я бы рекомендовал ознакомиться с XML-отчетами JUnit или TestNG.Вы должны быть в состоянии преобразовать их с помощью небольшого количества XSLT, чтобы предоставить новый HTML-отчет в требуемом вами формате.

В TestNG вы можете определить наборы через файл конфигурации (testng.xml), который должен соответствовать вашим потребностям.Вы могли бы структурировать его так, чтобы у него была тестовая группа для каждого модуля.Сбой в тестовой группе приводит к тому, что весь тест считается неудачным.Но я думаю, вы также могли бы сделать это в JUnit, с которым я не слишком знаком.

Что хорошо в TestNG, так это то, что вы можете определять зависимости.Они будут применять определенный логический порядок выполнения тестов и пропускать тесты, которые зависят от неудачных тестов, вместо того, чтобы позволить им также завершиться неудачей.Это намного упрощает анализ, а тесты заканчиваются раньше, потому что все те тесты, которые потенциально обречены на неудачу, будут оставлены в стороне.

Но, как я уже говорил ранее, я думаю, вы можете сделать это и в JUnit.Это скорее дело вкуса.И если вы решите иначе, преобразование из JUnit в TestNG или наоборот не составит большого труда.

Я не совсем уверен, что я прав здесь .. но я думаю, что это может вам помочь:http://www.jamesnetherton.com/blog/2007/07/02/Creating-a-Selenium-test-suite/

Вы можете группировать свои тесты с его помощью очень простым структурированным способом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top