Повторное использование функции входа в систему в тестах объектной модели страницы Selenium - PullRequest
1 голос
/ 21 августа 2011

Я изучаю использование Selenium 2 в веб-приложении, которое требует аутентификации, прежде чем пользователь сможет использовать любое из приложений. Я планирую либо JUnit 4 или TestNG (все еще исследую, какой из них использовать с сеткой 2). Я могу также планировать использовать jbehave.

Есть ли у кого-нибудь предложения по улучшению следующего теста, чтобы я мог использовать функцию успешного входа во все мои тесты? Я хочу избежать дублирования входа в сами тесты.

public class LoginPageTest {

    private LoginPage page;

    @Before
    public void openTheBrowser() {
        page = PageFactory.initElements(new FirefoxDriver(), LoginPage.class);
        page.open("http://www.site.com/Login");
    }

    @After
    public void closeTheBrowser() {
        page.close();
    }

    @Test
    public void whenTheUserEntersValidCredentialsTheUserIsLoggedIn() {
        assertThat(page.getTitle(), containsString("Login") );
    }   
}

Тест упрощен, но он вернет объект страницы успешного входа в систему.

спасибо

Ответы [ 3 ]

2 голосов
/ 22 августа 2011

проверьте тематическое исследование @ http://blog.infostretch.com/?p=806 для лучшей идеи.Если вы находитесь на начальном уровне разработки, я бы посоветовал вам попробовать QAF (ранее ISFW) .

1 голос
/ 22 августа 2011

Создайте библиотеки и вызовите последовательность тестовых случаев для выполнения одного тестового случая / сценария.
Например:

lib.login();
lib.whenTheUserEntersValidCredentialsTheUserIsLoggedIn();
lib.logout();

для этого позаботьтесь о создании объектов.решение для объекта является использование супер eg: super.login()

1 голос
/ 22 августа 2011

Лучшим вариантом может быть использование класса LoginPageTest в качестве родительского класса и расширение каждого из ваших тестовых классов из LoginPageTest.

Таким образом, каждый тест может войти в систему с помощью настройки родителя и завершить работу.методы и провести собственное дополнительное тестирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...