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

Deformator

Регистрация: 25 авг 2014
Offline Активность: 22 июл 2015 08:44
-----

Мои темы

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

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 но никак не могу найти где


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

02 сентября 2014 - 11:48

Добрый день форумчане. Только недавно я начал изучать 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 т.к. типа его нет в этом классе. Заранее спасибо )


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

25 августа 2014 - 11:47

Столкнулся с такой проблемой. Постоянно выхватываю 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-й вариант и почему же он не работает у меня. Заранее спасибо.