Графеновые абстракции - лучшая практика для утверждений
Я начал писать свои тесты, используя абстракции страниц, предоставленные Graphene (объекты страниц и фрагменты страниц). Я пытаюсь решить, что является лучшей практикой для написания утверждений. В частности, я пытаюсь решить, где утверждения должны быть расположены. Должно ли оно быть во фрагменте страницы, в объекте страницы или в классе теста? Я привык иметь все утверждения на моих тестовых классах, но это "старый" способ.
Например, утверждение, имеет ли элемент класс css, может быть выполнено следующими способами:
// not working code just an example
@Test
public void simpleTest(){
assertTrue (pageObject.getElementA.isDisplayed());
}
или же
@Test
public void simpleTest(){
pageObject.isElementADisplayed();
}
где pageObject - это объект страницы, определенный графеном:
public class PageObject {
WebElement elementA;
public void isElementADisplayed(){
assertTrue(elementA.isDisplayed());
}
}
Также страница может так же легко определить Фрагмент страницы, который в свою очередь может иметь утверждение. Есть ли очевидная лучшая практика для этого?
Заранее спасибо.
1 ответ
Я всегда получал IllegalStateException, когда AssertionErrors генерируется в PageFrragments.
Я бы сказал, что утверждения должны находиться в тесте, а страница и фрагменты страницы предоставляют необходимую информацию.