Перейти к содержимому

Публикации Deformator

10 публикаций создано Deformator (учитываются публикации только с 27 апреля 2023)


#142937 Serenity + jbehave archetype + maven - тесты запускаются по 2 раза

Отправлено автор: Deformator 22 июля 2015 - 06:31 в Автоматизированное тестирование

Проблема решена, можно закрывать тему




#142763 Serenity + jbehave archetype + maven - тесты запускаются по 2 раза

Отправлено автор: Deformator 21 июля 2015 - 16:30 в Автоматизированное тестирование

Добрый вечер форумчане. Возникла проблема - тесты запускаются по 2 раза, причем в 2 потока. Сначала запускается первый поток, затем через секунд 5 второй - http://prntscr.com/7vbf0a   http://prntscr.com/7vbf76 

Вот ссылка на проект на Gite https://github.com/Deformator/edrcTets. Может кто-то уже сталкивался или желает разобраться и помочь. Подозреваю что проблема в структуре, но никак не могу найти ошибку. Уже перечитывал мануал http://www.thucydides.info/docs/serenity/#_serenity_with_jbehave но проблему так и не нашел.

 

Причем если запускаю IDEхой то все ок, но как только дергаю мавеном - стабильно  2 раза каждый сценарий. Я подозреваю что возможно проблема в POMe но никак не могу найти где




#136520 Инструменты для тестирования производительности

Отправлено автор: Deformator 14 ноября 2014 - 14:02 в Тестирование производительности

Всем привет. У меня такой вопрос: как протестировать случай, если нужно запустить одновременно 150 пользователей? Условие: различные порты и сидят они через проксю.




#133784 Инициализация элементов через PageFactory

Отправлено автор: Deformator 03 сентября 2014 - 06:24 в Selenium - Functional Testing

Отнаследуйте одну страницу от другой. Или заведите общий класс Page, и в него перенести этот метод.

 

1-й вариант не подходит. А насчет 2-го - я так понимаю туда можно выносить все Вебэлементы (вместе с xpath) и методы, которые используются на нескольких страницах? Ну а потом наследоваться от этой страницы? Корректно ли это будет со стороны правильного построения структуры? Интересуют мнения экспертов :)




#133736 Как перенести данные с одного окна браузера в другое окно

Отправлено автор: Deformator 02 сентября 2014 - 12:01 в Selenium - Functional Testing

Ни один тестовый фреймворк не предоставляет возможность "приостановить первый тест, потом выполнить второй, потом вернуться и продолжить выполнение первого". Это как-то вообще противоестественно, потому что это фактически не два разных теста, а один составной. Подумайте над перепроектированием тестов.

Ну приостановить и продолжить думаю можно, если унаследовать классы тестов от Thread, а затем вызывать соответствующие методы в желаемых местах. Но как по мне это извращение. Проще залогировать все в файл, а затем парсить из него то, что тебе нужно. Думаю в рамках 1-го теста это все можно реализовать.




#133735 Инициализация элементов через PageFactory

Отправлено автор: Deformator 02 сентября 2014 - 11:48 в Selenium - Functional Testing

Добрый день форумчане. Только недавно я начал изучать Page Object и PageFactory так что глупые вопросы присутствуют.  Ситуация следующая - существует к примеру 2 страницы (Java классы). 1-я SignupPage и 2 -я AdminPage. На первой странице определены все поля, селекты и кнопки через @FindBy, также присутствуют методы (регистрация, регистрация только по обязательным полям и т.д.). 2-я страница представляет собой админку, однако в админке при нажатии CreateUser открывается та же форма, что и на SignUp, т.е. по сути нужно заполнить те же элементы. Что нужно сделать, что бы не переписывать снова все элементы? Ведь они уже расписаны на SignUpPage? Как их инициализировать для AdminPage?

 

Пример:

public class AdminPage {

    Driver driver;

    public AdminPage(Driver driver) {
        this.driver = driver;
        PageFactory.initElements(driver,SignupPage.class);
    }

    public String findH1() {
        return h1.getText();
    }
}

в данном случае h1 элемент определен в классе SignupPage и IDE репортит что не может реализовать символ h1 т.к. типа его нет в этом классе. Заранее спасибо )




#133731 Объясните пожалуйста принцип работы @FindBy для Select

Отправлено автор: Deformator 02 сентября 2014 - 11:27 в Selenium - Functional Testing

Спасибо за советы  :smile:




#133520 Объясните пожалуйста принцип работы @FindBy для Select

Отправлено автор: Deformator 25 августа 2014 - 13:23 в Selenium - Functional Testing

Решил конечно через одно место проблему, но код сократил. Дописал в классе метод

 

//метод для возврата экземпляров класса для селектов
    private Select getPageSelectElement(WebElement select){
        return new Select(select);
    }

Может есть, что-то оптимальней?




#133512 Объясните пожалуйста принцип работы @FindBy для Select

Отправлено автор: Deformator 25 августа 2014 - 12:20 в Selenium - Functional Testing

Большое спасибо за ответ. Не обратил конечно, спешил, выхватил кусок кода и зашел в тупик. Еще раз спасибо.




#133509 Объясните пожалуйста принцип работы @FindBy для Select

Отправлено автор: Deformator 25 августа 2014 - 11:47 в Selenium - Functional Testing

Столкнулся с такой проблемой. Постоянно выхватываю NullPointerException если использую такую интерпретацию:

@FindBy (xpath = "//*[@id=\"ddlProjectLabel\"]") private Select workTypeSelect;

в методе указываю 

 workTypeSelect.selectByVisibleText("Design"); 

Если же пишу

@FindBy private Select workTypeSelect;

и в методе

workTypeSelect = new Select(driver.findElement(By.xpath("//*[@id=\"ddlProjectLabel\"]")));
workTypeSelect.selectByVisibleText("Design"); 

то все отлично отрабатывает.
Объясните пожалуйста нубу, что не так? Ведь на всех форумах почему-то указан именно 1-й вариант, он конечно и более удобный.
 
http://internetka.in...fielddecorator/
http://habrahabr.ru/...ex/blog/158787/
 
PS: c полями для ввода, кнопками и т.д. все отлично работает. Я бы не задавал вопрос, с учетом того, что для селекта в отличии от элементов нужно создавать экземпляр класса, но почему на всех форумах пишут про 1-й вариант и почему же он не работает у меня. Заранее спасибо.