Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GmailTest {
- private WebDriver driver = new FirefoxDriver();
- @Before
- public void setUp() {
- Configuration.timeout = 15;
- }
- @After
- public void closeDriver() {
- driver.quit();
- }
- /*
- Ну... можно и так
- важно - чтоб было понимание
- сейчас
- перед запуском каждого тест-метода - мы делаем
- новый вебдрайвер
- настройку таймаута
- после каждого тест-метода - мы делаем
- закрываем вебдрайвер
- часто - достаточно
- единожды перед запуском всех тест-методов
- создать вебдрайвер
- настроить таймаут
- единожды после работы всех тест-методов
- закрыть вебдрайвер
- такой вариант можно реализовать, используя
- инициализацию статических полей тест-класса
- static initialisation block
- BeforeClass & AfterClass методы
- лучше исходить из задач и именно так реализовывать
- твой вариант - подойдет для параллельного запуска тестов
- но - будет избыточен для запуска тест-методов в одном потоке
- логику - создания и убивания вебдрайвера - вынеси в класс-предок тест-класса
- разгрузим тест-класс
- и получим универсального предка для тест-классов
- заметь - я не предлагаю настройку таймаута выносить в предка
- т к это уже детали для конкретного тест-класса - не надо портить универсальную логику предка
- полезные линки
- instance initialization block - будет выполняться перед запуском каждого тест-метода
- static initialization block - перед запуском всех тест-методов тест-класса
- http://www.javamadesoeasy.com/2015/06/differences-between-instance.html
- разница по эффекту - как использовать @Before или @BeforeClass метод
- http://www.unknownerror.org/opensource/junit-team/junit/q/stackoverflow/512184/best-practice-initialize-junit-class-fields-in-setup-or-at-declaration
- http://www.javaworld.com/article/2076265/testing-debugging/junit-best-practices.html
- (подзаголовок Do not use the test-case constructor to set up a test case)
- */
- **************************
- public static ExpectedCondition<WebElement> listNthElementHasText(final List<WebElement> elements, final int index, final String expectedText) {
- ....
- public String toString() {
- return String.format("element of list should have (\'%s\') text, while actual text is ('%s')", expectedText, actualText);
- /*
- в фразе недостаточно описания - что такой-то по индексу элемент
- в следующей версии - когда локатор будет передан в кондишен
- стоит и локатор отразить
- в слеке это обсуждали
- касается всех кондишенов
- */
Advertisement
Add Comment
Please, Sign In to add comment