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

Программирование на Python для тестировщиков
онлайн, начало 18 октября
Логи как инструмент тестировщика
онлайн, начало 21 октября
Тестирование REST API
онлайн, начало 21 октября
Организация автоматизированного тестирования
онлайн, начало 18 октября
Фотография

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

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
  • 105 сообщений
  • ФИО:кузьмин сергей

Отправлено 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
  • 105 сообщений
  • ФИО:кузьмин сергей

Отправлено 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 анонимных

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