Skip to content

Latest commit

 

History

History
252 lines (147 loc) · 5.36 KB

File metadata and controls

252 lines (147 loc) · 5.36 KB
layout doc
title Locator - Codeception - Documentation

Codeception\Util\Locator

Set of useful functions for using CSS and XPath locators. Please check them before writing complex functional or acceptance tests.

combine

static

Applies OR operator to any number of CSS or XPath selectors. You can mix up CSS and XPath selectors here.

{% highlight php %}

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

{% endhighlight %}

This will search for Title text in either h1, h2, or h3 tag. You can also combine CSS selector with XPath locator:

{% highlight php %}

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

{% endhighlight %}

As a result the Locator will produce a mixed XPath value that will be used in fillField action.

  • static
  • param $selector1
  • param $selector2
  • throws \Exception
  • return string

See source

contains

static

Locates an element containing a text inside. Either CSS or XPath locator can be passed, however they will be converted to XPath.

{% highlight php %}

Locator::contains('label', 'Name'); // label containing name Locator::contains('div[ * contenteditable=true]', 'hello world');

{% endhighlight %}

  • param $element
  • param $text
  • return string

See source

elementAt

static

Locates element at position. Either CSS or XPath locator can be passed as locator, position is an integer. If a negative value is provided, counting starts from the last element. First element has index 1

{% highlight php %}

Locator::elementAt('//table/tr', 2); // second row Locator::elementAt('//table/tr', -1); // last row Locator::elementAt('table#grind>tr', -2); // previous than last row

{% endhighlight %}

  • param $element CSS or XPath locator
  • param $position xpath index
  • return mixed

See source

find

static

Finds element by it's attribute(s)

  • static

  • param $element

  • param $attributes

  • return string

See source

firstElement

static

Locates first element of group elements. Either CSS or XPath locator can be passed as locator, Equal to Locator::elementAt($locator, 1)

{% highlight php %}

Locator::firstElement('//table/tr');

{% endhighlight %}

  • param $element
  • return mixed

See source

href

static

Matches the a element with given URL

{% highlight php %}

see('Log In', Locator::href('/login.php')); ?>

{% endhighlight %}

  • static
  • param $url
  • return string

See source

humanReadableString

static

Transforms strict locator, \Facebook\WebDriver\WebDriverBy into a string represenation

  • param $selector
  • return string

See source

isCSS

static

  • param $selector
  • return bool

See source

isID

static

Checks that string and CSS selector for element by ID

See source

isXPath

static

Checks that locator is an XPath

  • param $locator
  • return bool

See source

lastElement

static

Locates last element of group elements. Either CSS or XPath locator can be passed as locator, Equal to Locator::elementAt($locator, -1)

{% highlight php %}

Locator::lastElement('//table/tr');

{% endhighlight %}

  • param $element
  • return mixed

See source

option

static

Matches option by text

  • param $value

  • return string

See source

tabIndex

static

Matches the element with given tab index

Do you often use the TAB key to navigate through the web page? How do your site respond to this navigation? You could try to match elements by their tab position using tabIndex method of Locator class. {% highlight php %}

fillField(Locator::tabIndex(1), 'davert'); $I->fillField(Locator::tabIndex(2) , 'qwerty'); $I->click('Login'); ?>

{% endhighlight %}

  • static
  • param $index
  • return string

See source

 

Reference is taken from the source code. Help us to improve documentation. Edit module reference