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

Selenium IDE 3: стартовый уровень
онлайн, начало 19 апреля
Школа для начинающих тестировщиков
онлайн, начало 22 апреля
Тестирование REST API
онлайн, начало 22 апреля
Тестирование юзабилити (usability)
онлайн, начало 24 апреля
Фотография

При смене вкладки, не загружается страница.

WebDriver C# Chromedriver

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 bich

bich

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Максим

Отправлено 18 Декабрь 2018 - 16:06

Здравствуйте, уважаемые форумчане!)

Начал изучать webdriver в связке с c# и столкнулся с такой проблемой.

Версия chromedriver: 2.45

Версия selenium: 3.141.0

 

Суть проблемы:

На странице при нажатии на кнопку открывается facebook в новой вкладке браузера. Я пробую переключиться на открывшуюся вкладку, и получается так что при переключении страница перестает загружаться. Следовательно дальше не получается получить url этой страницы. Если запускать тест под дебагом и идти по шагам, то тест проходит.

 

Переход на новую вкладку осуществляю вот так:

_webDriver.SwitchTo().Window(_webDriver.WindowHandles.Last());

 

Подскажите пожалуйста, решение проблемы, уже сил нет гуглить))


  • 0

#2 sergueik

sergueik

    Активный участник

  • Members
  • PipPip
  • 100 сообщений
  • ФИО:кузьмин сергей

Отправлено 18 Декабрь 2018 - 18:38

@bich покажите немного кода. попробейте не брать Last а пройтись по всем handles


  • 0

#3 bich

bich

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Максим

Отправлено 19 Декабрь 2018 - 08:53

@sergueik, вот кусочек кода:

 

_footerPage.FaceBookButton.Click();
_webDriver.SwitchTo().Window(_webDriver.WindowHandles.Last());
var url = _webDriver.Url;
 
Проблема в том что при дебаге это все работает прекрасно)
А может есть какой-то способ дождаться загрузки страницы, не переключаюсь на вкладку с ней, потому что, при переключении страница полностью перестает загружаться(

  • 0

#4 sergueik

sergueik

    Активный участник

  • Members
  • PipPip
  • 100 сообщений
  • ФИО:кузьмин сергей

Отправлено 19 Декабрь 2018 - 13:29

@bich покажите^W напишите немного кода - в котором вы смотрите что в том handle где ваш код собирется продолжать выполнение - я думаю увидите что вы не в том окне . это же просто

 

	public void test1() {
		String parentHandle = driver.getWindowHandle(); // Save parent window
		boolean isChildWindowOpen = wait
				.until(ExpectedConditions.numberOfWindowsToBe(2));
		if (isChildWindowOpen) {
			Set<String> handles = driver.getWindowHandles();
			// Switch to child window
			for (String handle : handles) {
System.err.println("Window handle: " + handle);
				driver.switchTo().window(handle);
				System.err.println("Window title: " + driver.getTitle());
				if (!parentHandle.equals(handle)) {

/// wait 

     wait.until(ExpectedConditions.urlContains(finalUrl));

ну и  т.д.стандартные 100500 строк boilerplate code


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами WebDriver, C#, Chromedriver

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале