Тестирование: Окна и табы

Действия с окнами и вкладками

 

1.Метод переключения, на последнюю открытую вкладку браузера:

Метод используется для переключения Selenium фреймворка на последнюю открытую вкладку в браузере

->switchToLastOpenedTab()

Общая структура метода ->switchToLastOpenedTab()

public function switchToLastOpenedTab() {
        $handles = $this->webDriver->getWindowHandles(); //Получаем массив с заголовками всех открытых вкладок браузера в данный момент
        $this->webDriver->switchTo()->window(end($handles)); //Переключаем фреймворк на вкладку с последним значением из массива(последняя вкладка)
    }

 

2.Метод обновления текущей открытой страницы(имитация F5):

Метод используется для обновления страницы

->refreshPage()

Общая структура метода ->refreshPage()

public function refreshPage() {
        $this->webDriver->navigate()->refresh(); //действие обновления
    }

в случае необходимости можно добавить методы с действиями:

->forward() //Имитация браузерной кнопки "Вперед" 
->back() //Имитация браузерной кнопки "Назад" 

 

3.Группа методов, имитирующая нажатие на элемент клавишей mouse3 и его открытие в новой вкладке, с последующим переключением на нее(колесико мыши)

Методы выполняют клик по объекту, инициируют открытие этого объекта на новой вкладке и перекидывают фреймворк selenium на новую вкладку

->clickElementWithXpathAndOpenInNewTab($xpath)
->clickElementWithIDAndOpenInNewTab($id)

Общая структура метода ->clickElementWithLocatorAndOpenInNewTab($Locator)

public function clickElementWithLocatorAndOpenInNewTab($id) {
        $this->webDriver->findElement(WebDriverBy::Locator($Locator))->getLocationOnScreenOnceScrolledIntoView(); //Находит элемент на странице и скроллит страницу до него, в случае если он вне зоны видимости.
        $this->webDriver->findElement(WebDriverBy::Locator($Locator))->sendKeys(array(WebDriverKeys::CONTROL, "\xEE\x80\x87")); //Посылает на этот элемент сочетание клавиш Ctrl+Enter, таким образом ссылка под объектом открывается в новой вкладке
        $this->waitLoader(); //Стандартный метод ожидания
        $this->switchToLastOpenedTab(); //Универсальный метод, который перекидывает Selenium на последнюю возможную вкладку
    }

24.07.2010 07:51