/**
  * @param  RemoteWebDriver $web_driver
  */
 function __construct(RemoteWebDriver $web_driver)
 {
     $this->web_driver = $web_driver;
     // Дожидаемся загрузки первого елемента(в данном случае картинка)
     $wait = new WebDriverWait($this->web_driver, 30);
     $wait->until(WebDriverExpectedCondition::visibilityOfElementLocated(WebDriverBy::id('MainContent_img_lg')));
     $this->products = $this->web_driver->findElements(WebDriverBy::cssSelector("a.pname_list"));
 }
Beispiel #2
0
 protected function assertElementNotFound($by)
 {
     $els = $this->webDriver->findElements($by);
     if (count($els)) {
         $this->fail("Unexpectedly element was found");
     }
     // increment assertion counter
     $this->assertTrue(true);
 }
Beispiel #3
0
 /**
  * @return string
  */
 public function getVisibleText()
 {
     $els = $this->webDriver->findElements(\WebDriverBy::cssSelector('body'));
     if (count($els)) {
         return $els[0]->getText();
     }
     return "";
 }
Beispiel #4
0
 public function dontSeeLink($text, $url = null)
 {
     $nodes = $this->webDriver->findElements(\WebDriverBy::partialLinkText($text));
     if (!$url) {
         $this->assertNodesNotContain($text, $nodes, 'a');
         return;
     }
     $nodes = array_filter($nodes, function (\WebDriverElement $e) use($url) {
         return trim($e->getAttribute('href')) == trim($url);
     });
     $this->assertNodesNotContain($text, $nodes, "a[href={$url}]");
 }
 public function formElementsExist()
 {
     $expected_ids = array('edit-submitted-name', 'edit-submitted-email', 'edit-submitted-favorite-muppet');
     foreach ($expected_ids as $expected_id) {
         $this->assertOneOf($expected_id);
     }
     $muppet_radios = $this->webDriver->findElements(WebDriverBy::name('submitted[favorite_muppet]'));
     $actual_muppet_count = count($muppet_radios);
     $expected_muppet_count = 7;
     $this->assertEquals($expected_muppet_count, $actual_muppet_count);
     // This array starts at 1, not 0.
     for ($i = 1; $i <= $expected_muppet_count; $i++) {
         $muppet_id = "edit-submitted-favorite-muppet-{$i}";
         $this->assertOneOf($muppet_id);
     }
 }
 public function changeProgramStatus($staff_uid, $staff_pwd, $start_time, $new_status)
 {
     Automation::login($staff_uid, $staff_pwd, $this->webDriver);
     Automation::grabElementByCssSelector($this->webDriver, '.pager-last > a:nth-child(1)')->click();
     // Page to last page
     // And then all of this to wait for the list to refresh...
     $this->webDriver->wait(30, 1500)->until(WebDriverExpectedCondition::presenceOfElementLocated(WebDriverBy::cssSelector('.pager-first')));
     $select = new WebDriverSelect($this->webDriver->findElement(WebDriverBy::id('edit-operation')));
     $select->selectByValue('action::naeyc_vbo_actions_change_status');
     $this->webDriver->findElement(WebDriverBy::id('edit-submit--2'))->click();
     $checkboxes = $this->webDriver->findElements(WebDriverBy::xpath('//input[@type=\'checkbox\']'));
     $last_checkbox = end($checkboxes);
     $last_checkbox->click();
     $select = new WebDriverSelect($this->webDriver->findElement(WebDriverBy::id('edit-status-dropdown')));
     $select->selectByValue($new_status);
     $this->webDriver->findElement(WebDriverBy::id('edit-submit'))->click();
     $this->webDriver->wait(30, 1500)->until(WebDriverExpectedCondition::presenceOfElementLocated(WebDriverBy::cssSelector('.messages')));
     $this->assertContains("Program Webdriver Program {$start_time} changed from", Automation::grabElementByCssSelector($this->webDriver, '.messages')->getText());
 }
Beispiel #7
0
 /**
  * Returns the given elements by css selector
  * @param string $css_selector
  * @return RemoteWebElement
  */
 public function getElementsBySelector($css_selector)
 {
     return self::$webDriver->findElements(\WebDriverBy::cssSelector($css_selector));
 }
Beispiel #8
0
 public function checkNotPresent($locator)
 {
     $this->assertEquals(0, count($this->webDriver->findElements($locator)));
 }
 /**
  * @param $expected_id
  */
 public function assertOneOf($expected_id)
 {
     $matches = $this->webDriver->findElements(WebDriverBy::id($expected_id));
     $this->assertEquals(1, count($matches), 'Should have one ' . $expected_id);
 }
Beispiel #10
0
 /**
  * @param string $selector
  * @return \RemoteWebElement[]
  */
 private function _getElements($selector)
 {
     return $this->_driver->findElements($this->_getWebDriverBy($selector));
 }