залил файлы сюда http://narod.ru/disk/64766789001.16d5fc0b80e6036cb52f3f534b855e69/browser.zip.html
Спасибо за помощь. Но я обнаружил другую причину того, что второй тест не запускался и выпадал с ошибкой java.lang.NullPointerException.
Как оказалось, тесты в очередь на запуск ставятся по алфавиту.
Вот какой был порядок запуска, который привел к ошибке:
PASSED: testLogin
PASSED: testStatement
PASSED: testStatement1
PASSED: testStatement2
FAILED: testFea
Если тест testFea переименовать к примеру на testOver - все проходит без ошибок.
это и я называю зависимость, о которой я писал ранее.
потому что успешный проход теста зависит от порядка выполнения тестов, и это есть плохо как видите
у TestNG можно указать приоритет выполнения тестов в аннотации @Test(priority=1)
попробуйте использовать пример можно посмотреть тут Priority в TestNG не работает вместе с dependsOnMethods
а также, если бы вы использовали аннотацию @BeforeClass и там выполняли необходимые для вас действия, как я выполнил в своем примере Замена assert на мягкую проверку verify в TestNG - #20 от пользователя polusok
тогда у вас не было бы таких проблем
@BeforeClass
public void setup() {
loginPage = PageFactory.initElements(driver, LoginPage.class);
loginPage.open();
homePage = loginPage.loginAs(admin);
}
loginPage.open();
- открывает страницу с логином
homePage = loginPage.loginAs(admin);
- вводит логин и пароль
после ввода логина и пароля загружается первая страница… но. BeforeClass
не решил проблему с запуском тестов по “алфавиту” . или он не должен был это решить?
@BeforeClass
и не должен был ничего решать с запуском в алфавитном порядке
просто через использование @BeforeClass
, вы инициализируете нужные объекты перед использованием
почему у вас была nullpointer exception, потому что вы пытались использовать объект, который не был инициализирован
в предыдущем посте я писал на счет priority попробуйте его
priority помог, спасибо.
1, имхо, Вы делаете много лишних проверок
А как по вашему мнению лучше организовать проверки?