Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
Search Class Reference
Inheritance diagram for Search:

Public Member Functions

 search ($keyword, $length=null)
 
 fillSearch ($text)
 
 waitUntilSearchPrepared ()
 
 isPlaceholderContains ($placeholderText)
 
 isSuggestSearchVisible ($text, $amount=null)
 
 clickSuggestedText ($text)
 

Protected Attributes

 $searchAutocomplete = './/div[@id="search_autocomplete"]//li[span[text()[normalize-space()="%s"]]]'
 
 $searchItemAmount = '/span[contains(@class,"amount") and text()="%d"]'
 
 $searchInput = '#search'
 
 $placeholder = '//input[@id="search" and contains(@placeholder, "%s")]'
 

Detailed Description

Class Search Block for "Search" section

Definition at line 16 of file Search.php.

Member Function Documentation

◆ clickSuggestedText()

clickSuggestedText (   $text)

Click on suggested text.

Parameters
string$text
Returns
void

Definition at line 155 of file Search.php.

156  {
157  $searchAutocomplete = sprintf($this->searchAutocomplete, $text);
158  $this->_rootElement->find($searchAutocomplete, Locator::SELECTOR_XPATH)->click();
159  }
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43

◆ fillSearch()

fillSearch (   $text)

Fill "Search" field with correspondent text.

Parameters
string$text
Returns
void

Definition at line 89 of file Search.php.

90  {
91  $this->_rootElement->find($this->searchInput)->setValue($text);
92  $this->waitUntilSearchPrepared();
93  }
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43

◆ isPlaceholderContains()

isPlaceholderContains (   $placeholderText)

Check if placeholder contains correspondent text or not.

Parameters
string$placeholderText
Returns
bool

Definition at line 121 of file Search.php.

122  {
123  $field = $this->_rootElement->find(sprintf($this->placeholder, $placeholderText), Locator::SELECTOR_XPATH);
124  return $field->isVisible();
125  }

◆ isSuggestSearchVisible()

isSuggestSearchVisible (   $text,
  $amount = null 
)

Check if "Suggest Search" block visible or not.

Parameters
string$text
int | null$amount
Returns
bool

Definition at line 134 of file Search.php.

135  {
136  $searchAutocomplete = sprintf($this->searchAutocomplete, $text);
137  if ($amount !== null) {
138  $searchAutocomplete .= sprintf($this->searchItemAmount, $amount);
139  }
140 
141  $rootElement = $this->_rootElement;
142  return (bool)$this->_rootElement->waitUntil(
143  function () use ($rootElement, $searchAutocomplete) {
144  return $rootElement->find($searchAutocomplete, Locator::SELECTOR_XPATH)->isVisible() ? true : null;
145  }
146  );
147  }
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43
$amount
Definition: order.php:14

◆ search()

search (   $keyword,
  $length = null 
)

Perform search by a keyword.

Parameters
string$keyword
string | null$length
Returns
void

Definition at line 74 of file Search.php.

75  {
76  if ($length) {
77  $keyword = substr($keyword, 0, $length);
78  }
79  $this->fillSearch($keyword);
80  $this->_rootElement->find($this->searchButton)->click();
81  }

◆ waitUntilSearchPrepared()

waitUntilSearchPrepared ( )

Wait until "Suggest Search" block will be prepared.

Returns
bool

Definition at line 100 of file Search.php.

101  {
102  $this->browser->waitUntil(
103  function () {
104  $count = count($this->_rootElement->getElements($this->searchListItems, Locator::SELECTOR_XPATH));
105  usleep(200);
106  $newCount = count($this->_rootElement->getElements($this->searchListItems, Locator::SELECTOR_XPATH));
107  return $this->browser->find($this->selectorAriaBusy, Locator::SELECTOR_XPATH)->isVisible()
108  && ($newCount == $count)
109  ? true
110  : null;
111  }
112  );
113  }
$count
Definition: recent.phtml:13

Field Documentation

◆ $placeholder

$placeholder = '//input[@id="search" and contains(@placeholder, "%s")]'
protected

Definition at line 51 of file Search.php.

◆ $searchAutocomplete

$searchAutocomplete = './/div[@id="search_autocomplete"]//li[span[text()[normalize-space()="%s"]]]'
protected

Definition at line 23 of file Search.php.

◆ $searchInput

$searchInput = '#search'
protected

Definition at line 37 of file Search.php.

◆ $searchItemAmount

$searchItemAmount = '/span[contains(@class,"amount") and text()="%d"]'
protected

Definition at line 30 of file Search.php.


The documentation for this class was generated from the following file: