Тестирование: виды кликов

1.Для простого клика на элемент создана группа методов:

Методы выполняют клик по объекту, который Selenium находит по определенному локатору(указан в названии метода)

->clickElementWithID($id)
->clickElementWithXpath($xpath)
->clickElementWithLinkText($linkText)
->clickElementWithName($name)
->clickElementWithClassName($className)
->clickElementWithCssSelector($cssSelector)

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

public function clickElementWithLocator($Locator) {
        $this->webDriver->findElement(WebDriverBy::Locator($Locator))->getLocationOnScreenOnceScrolledIntoView(); //Находит элемент на странице и скроллит страницу до него, в случае если он вне зоны видимости.
        $this->webDriver->findElement(WebDriverBy::Locator($Locator))->click(); //Нажатие на предварительно найденный элемент
    }

 

2.Группа методов, имитирующая нажатие на элемент клавишей 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 на последнюю возможную вкладку
    }

15.06.2010 07:22