Как сделать, чтобы tearDown не закрывал браузер после каждого теста
#1
Отправлено 16 апреля 2012 - 12:51
Возник вопрос:
Когда я запускаю кейсы действие в таком порядке:
1)создался профайл
2)выполнился актотест
3)закрылся браузер
4)создать профайл
5)выполнить автотест
6)закрыть браузер
и т.д.
Много очень времени уходит на создание профайла
Как сделать так, чтобы tearDown() не клозил браузер после каждого выполненного тесткейса
т.е. я хочу чтобы было так:
1)создался профайл
2)выполнился актотест
3)разлогинились из системы
4)выполнился автотест
5)разлогинились из системы
6)Закрылся браузер
Использую Java+Maven+Selenium RC
#2
Отправлено 16 апреля 2012 - 12:53
#4
Отправлено 16 апреля 2012 - 13:16
Junit 3.x или 4.x?JUnit
TestNG или JUnit юзаете?
Для 4го Junit я гасил браузер через ShutDown hook, инициализировал драйвер перед самым первым тестом, если он еще не инициализирован.
Ну естественно в tearDown остается разлогинивание, а в setUp - логин (как-то так, у меня на самом деле логин выполнялся в базовом классе при инициализации тестового класса).
В третьем Junit должно быть проще реализовать акции которые делаются один раз перед всеми тестами и после окончания. Но я не делал.
Alexey
#5
Отправлено 16 апреля 2012 - 13:21
4.xJunit 3.x или 4.x?
Для 4го Junit я гасил браузер через ShutDown hook, инициализировал драйвер перед самым первым тестом, если он еще не инициализирован.
Ну естественно в tearDown остается разлогинивание, а в setUp - логин (как-то так, у меня на самом деле логин выполнялся в базовом классе при инициализации тестового класса).
а можешь код tearDown() скинуть ?
#6
Отправлено 16 апреля 2012 - 13:56
Создать отдельный класс TestSuite(там создать suite содержащий все необходимые тесты), где tearDown() уже один раз описать....
@RunWith(Suite.class) @Suite.SuiteClasses({Test1.class, Test2.class}) public class MyTestSuite { @BeforeClass public static void setUp() { // Common initialization done once for Test1 + Test2 } @AfterClass public static void tearDown() { // Common cleanup for all tests } }
#7
Отправлено 17 апреля 2012 - 13:00
#8
Отправлено 17 апреля 2012 - 13:12
У меня много тесткейсов, я же не буду 300 раз в конце каждого тесткейса разлогиниватьсяа почуму нельзя сделать функцию разлогинить? В конце каждого теста вызывать её и ждать, пока она вернёт true
пока она вернёт true или что-то в этом роде. Так же, можно при старте написать функцию логин,если надо
и что ? мы разлогинились и teatDown() зароет браузер
Должен же быть какой-то простой способ...
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных