Spec-Zone.ru › Codeception

Codeception\Util\Locator

Набор полезных функций для использования CSS и XPath локаторов. Пожалуйста, проверьте их перед написанием сложных функциональных или приемочных тестов.

combine()

public static combine($selector1, $selector2)

Применяет оператор ИЛИ к любому количеству CSS или XPath селекторов. Вы можете смешивать CSS и XPath селекторы здесь.

<?php
use \Codeception\Util\Locator;

$I->see('Title', Locator::combine('h1','h2','h3'));
?>

Это будет искать Title текст в любом из h1, h2, или h3 тегов. Вы также можете комбинировать CSS селектор с XPath локатором:

<?php
use \Codeception\Util\Locator;

$I->fillField(Locator::combine('form input[type=text]','//form/textarea[2]'), 'qwerty');
?>

В результате Locator создаст смешанное значение XPath, которое будет использовано в действии fillField.

  • static
  • param $selector1
  • param $selector2
  • throws \Exception
  • return строка

См. исходный код

contains()

public static contains($element, $text)

Находит элемент, содержащий текст внутри. Можно передать CSS или XPath локатор, однако они будут преобразованы в XPath.

<?php
use Codeception\Util\Locator;

Locator::contains('label', 'Name'); // label containing name
Locator::contains('div[@contenteditable=true]', 'hello world');
  • param $element
  • param $text
  • return строка

См. исходный код

elementAt()

public static elementAt($element, $position)

Находит элемент по позиции. В качестве локетатора можно передать CSS или XPath локатор, позиция — целое число. Если передано отрицательное значение, счёт начинается с последнего элемента. Первый элемент имеет индекс 1

<?php
use Codeception\Util\Locator;

Locator::elementAt('//table/tr', 2); // second row
Locator::elementAt('//table/tr', -1); // last row
Locator::elementAt('table#grind>tr', -2); // previous than last row
  • param string $element CSS или XPath локатор
  • param int $position индекс xpath
  • return смешанный тип

См. исходный код

find()

public static find($element, array $attributes)

Находит элемент по его атрибуту(ам)

<?php
use \Codeception\Util\Locator;

$I->seeElement(Locator::find('img', ['title' => 'diagram']));
  • static
  • param $element
  • param $attributes
  • return строка

См. исходный код

firstElement()

public static firstElement($element)

Находит первый элемент из группы элементов. В качестве локетатора можно передать CSS или XPath локатор, равносильно Locator::elementAt($locator, 1)

<?php
use Codeception\Util\Locator;

Locator::firstElement('//table/tr');
  • param $element
  • return смешанный тип

См. исходный код

href()

public static href($url)

Сопоставляет элемент a с заданным URL

<?php
use \Codeception\Util\Locator;

$I->see('Log In', Locator::href('/login.php'));
?>
  • static
  • param $url
  • return строка

См. исходный код

humanReadableString()

public static humanReadableString($selector)

Преобразует строгий локатор, \Facebook\WebDriver\WebDriverBy в строковое представление

  • param $selector
  • return строка

См. исходный код

isCSS()

public static isCSS($selector)

Проверяет, является ли переданная строка CSS селектором

<?php
Locator::isCSS('#user .hello') => true
Locator::isCSS('body') => true
Locator::isCSS('//body/p/user') => false
  • param $selector
  • return логическое значение

См. исходный код

isClass()

public static isClass($class)

Проверяет, является ли строка допустимым CSS классом

<?php
Locator::isClass('.hello') => true
Locator::isClass('body') => false
Locator::isClass('//body/p/user') => false
  • param $class
  • return логическое значение

См. исходный код

isID()

public static isID($id)

Проверяет, является ли строка допустимым CSS идентификатором

<?php
Locator::isID('#user') => true
Locator::isID('body') => false
Locator::isID('//body/p/user') => false
  • param $id
  • return логическое значение

См. исходный код

isPrecise()

public static isPrecise($locator)

  • param $locator
  • return логическое значение

См. исходный код

isXPath()

public static isXPath($locator)

Проверяет, является ли локатор XPath

<?php
Locator::isXPath('#user .hello') => false
Locator::isXPath('body') => false
Locator::isXPath('//body/p/user') => true
  • param $locator
  • return логическое значение

См. исходный код

lastElement()

public static lastElement($element)

Находит последний элемент из группы элементов. В качестве локетатора можно передать CSS или XPath локатор, равносильно Locator::elementAt($locator, -1)

<?php
use Codeception\Util\Locator;

Locator::lastElement('//table/tr');
  • param $element
  • return смешанный тип

См. исходный код

option()

public static option($value)

Сопоставляет элемент option по тексту:

<?php
use Codeception\Util\Locator;

$I->seeElement(Locator::option('Male'), '#select-gender');
  • param $value
  • return строка

См. исходный код

tabIndex()

public static tabIndex($index)

Сопоставляет элемент с заданным индексом tab

Вы часто используете клавишу TAB для навигации по веб-странице? Как ваш сайт реагирует на эту навигацию? Вы можете попробовать сопоставлять элементы по их позиции tab с помощью метода tabIndex класса Locator.

<?php
use \Codeception\Util\Locator;

$I->fillField(Locator::tabIndex(1), 'davert');
$I->fillField(Locator::tabIndex(2) , 'qwerty');
$I->click('Login');
?>
  • static
  • param $index
  • return строка

См. исходный код

© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/reference/Locator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API