Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как переключаться между Dashboard c помощью WebDriver


(iczaur) #1

Ребята, наверное многие из вас работали с Jira и знает какие у нее есть дашборды.
Так вот самый первый из них это дашборд входа в систему.
Подскажите пожалуйста как выбрать его и заполнить поля Логин и Паролью.
Что не получается:
Нахожу например кнопку “Вход” xpath = //[@id=‘login’]
Перезахожу на страницу пытаюсь найти элемент по строчке //[@id=‘login’], firebug не находит его,
Однако находит с помощью инструмента “Щелкните на элементе страницы для анализа” при этом получается тот же xpath //[@id=‘login’]


(vmaximv) #2

Астериск пропустили - ```
//*[@id=‘login’]


(Jane Tymoschuk) #3

а почему не просто по id?


(iczaur) #4

Так тоже не находит
И по ID не находит
Пробовал разные комбинации даже такие

driver.findElement(By.xpath(".//*[@id='dashboard-content']/div[3]/ul[2]")).findElement(By.xpath("//[@id='login']")).click();

(vmaximv) #5

Значит либо фрейм, либо такого элемента нету в DOM тчк


(iczaur) #6

Если второе, как я понимаю, к элементу никак не обратиться?


(Jane Tymoschuk) #7

там есть фрейм
на него нужно переключиться

By login_frame = By.xpath("//div[@id][contains(@class,'dashboard-item-frame')][descendant::h3[text()='Login']]//iframe");
driver.switchTo().frame(driver.findElement(login_frame));
driver.findElement(By.id("login"));

(iczaur) #8

Ту форму которую Вы прислали, она стандартная? Ее можно использовать ко всем фрэймам?
Дайе пожалуйста ссылки на ресурсы где работа с фреймами описана более подробна. Спасибо!


(Jane Tymoschuk) #9

этот локатор написан конкретно для стандартной темы джиры.
здесь много об iframe http://selenium-tutorial.blogspot.com/2013/10/iframes-in-selenium-webdriver.html