Esempio n. 1
1
 /** @test */
 public function sampleTest()
 {
     $page = $this->driver->get('http://slovicka.my');
     $this->assertContains('Slovicka', $page->getTitle());
     $username = $this->driver->findElement(WebDriverBy::name('_username'));
     $username->sendKeys('*****@*****.**');
 }
 protected function set_api_key($api_key)
 {
     self::$driver->get(wordpress('/wp-admin/options-media.php'));
     self::$driver->findElement(WebDriverBy::name('tinypng_api_key'))->clear()->sendKeys($api_key);
     self::$driver->findElement(WebDriverBy::tagName('form'))->submit();
     return self::$driver->findElement(WebDriverBy::name('tinypng_api_key'));
 }
 /** @When /^I search for "([^"]*)"$/ */
 public function iSearchFor($searchText)
 {
     $element = $this->webDriver->findElement(WebDriverBy::name("q"));
     if ($element) {
         $element->sendKeys($searchText);
         $element->submit();
     }
 }
 /**
  * @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_Email')));
     $this->email = $this->web_driver->findElement(WebDriverBy::id('MainContent_Email'));
     $this->password = $this->web_driver->findElement(WebDriverBy::id('MainContent_Password'));
     $this->remember = $this->web_driver->findElement(WebDriverBy::id('MainContent_RememberMe'));
     $this->submit = $this->web_driver->findElement(WebDriverBy::name('ctl00$MainContent$ctl05'));
 }
 public function testGoogle()
 {
     $web_driver = Util::createDriver();
     $web_driver->get("http://www.google.com");
     $element = $web_driver->findElement(WebDriverBy::name("q"));
     if ($element) {
         $element->sendKeys("Browserstack");
         $element->submit();
     }
     $web_driver->quit();
 }
 function testLogCreatesNewFileOnFirstMessage()
 {
     echo 'This is a test with simple test';
     $web_driver = RemoteWebDriver::create("http://<username>:<access_key>@hub.browserstack.com/wd/hub", array("platform" => "WINDOWS"));
     $web_driver->get("http://www.google.com/ncr");
     $this->assertEquals("Google", $web_driver->getTitle());
     $element = $web_driver->findElement(WebDriverBy::name("q"));
     if ($element) {
         $element->sendKeys("Browserstack");
         $element->submit();
         //$this->assertEquals(0, count($stack));
     }
     $web_driver->quit();
 }
 public function testGoogle()
 {
     $url = "http://" . self::$user_id . ":" . self::$security_key . "@hub.browserstack.com/wd/hub";
     $caps = array("browser" => "IE", "browser_version" => "9.0", "os" => "Windows", "os_version" => "7", "browserstack.debug" => "true");
     $web_driver = RemoteWebDriver::create($url, $caps);
     $web_driver->get("http://www.google.com");
     print $web_driver->getTitle();
     $element = $web_driver->findElement(WebDriverBy::name("q"));
     if ($element) {
         $element->sendKeys("Browserstack");
         $element->submit();
     }
     $web_driver->quit();
 }
 public function setUp()
 {
     $capabilities = array(\WebDriverCapabilityType::BROWSER_NAME => 'firefox');
     $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
     $this->app = self::createApplication();
     //log user in
     $this->webDriver->get($this->baseUrl);
     $usernameField = $this->webDriver->findElement(WebDriverBy::name("username"));
     $usernameField->sendKeys("superuser");
     $passwordField = $this->webDriver->findElement(WebDriverBy::name("password"));
     $passwordField->sendKeys("mala");
     $loginBtn = $this->webDriver->findElement(WebDriverBy::id("login-btn"));
     $loginBtn->click();
     $this->webDriver->manage()->timeouts()->implicitlyWait(1000);
 }
 protected function clearData()
 {
     $companyNameTextField = $this->webDriver->findElement(WebDriverBy::name("company_name"));
     $companyNameTextField->clear();
     $companyDescTextField = $this->webDriver->findElement(WebDriverBy::name("company_description"));
     $companyDescTextField->clear();
     $companyAddressTextField = $this->webDriver->findElement(WebDriverBy::name("company_address"));
     $companyAddressTextField->clear();
     $companyTelephoneTextField = $this->webDriver->findElement(WebDriverBy::name("company_telephone"));
     $companyTelephoneTextField->clear();
     $companyTinNoTextField = $this->webDriver->findElement(WebDriverBy::name("company_tin_number"));
     $companyTinNoTextField->clear();
     $companySSNITNoTextField = $this->webDriver->findElement(WebDriverBy::name("company_ssnit_number"));
     $companySSNITNoTextField->clear();
     $companyEmailTextField = $this->webDriver->findElement(WebDriverBy::name("company_email"));
     $companyEmailTextField->clear();
     $companyWebsiteTextField = $this->webDriver->findElement(WebDriverBy::name("company_website"));
     $companyWebsiteTextField->clear();
 }
 /**
  * Tests the filter panel itself in room filter
  * @test
  */
 public function testFilterPanel()
 {
     self::$webDriver->findElement(WebDriverBy::linkText('Räume'))->click();
     #1: Hide Room Filter
     self::$webDriver->findElement(WebDriverBy::linkText('Filter ausblenden'))->click();
     $this->assertEquals(false, self::$webDriver->findElement(WebDriverBy::name('cmd[applyRoomFilter]'))->isDisplayed(), '#1 Hiding the RoomFilter does not hide it');
     #2: Show Room Filtere
     self::$webDriver->findElement(WebDriverBy::linkText('Filter anzeigen'))->click();
     $this->assertEquals(true, self::$webDriver->findElement(WebDriverBy::name('cmd[applyRoomFilter]'))->isDisplayed(), '#2 Showing the RoomFilter does not show it');
     #3 Apply and hide filter
     self::$webDriver->findElement(WebDriverBy::id('room_name'))->sendKeys('123');
     self::$webDriver->findElement(WebDriverBy::name('cmd[applyRoomFilter]'))->click();
     self::$webDriver->findElement(WebDriverBy::linkText('Filter ausblenden'))->click();
     self::$webDriver->findElement(WebDriverBy::linkText('Filter anzeigen'))->click();
     $this->assertEquals('123', self::$webDriver->findElement(WebDriverBy::name('room_name'))->getAttribute('value'), '#3 Hiding and showing the RoomFilter resets it');
     #4 Reset filter
     self::$webDriver->findElement(WebDriverBy::name('cmd[resetRoomFilter]'))->click();
     $this->assertEquals(true, empty(self::$webDriver->findElement(WebDriverBy::name('room_name'))->getAttribute('value')), '#4 Filter reseting does not work');
 }
Esempio n. 11
0
 public function testLogInAndOut()
 {
     $this->driver->get('http://localhost:80/addons/boards.php');
     $button = $this->driver->findElement(WebDriverBy::id("navcontent"))->findElement(WebDriverBy::linkText("Log In"));
     $button->click();
     $this->assertContains("login.php", $this->driver->getCurrentURL());
     //$element1 = $this->driver->getActiveElement();
     $element1 = $this->driver->findElement(WebDriverBy::name("username"));
     $this->assertEquals("input", $element1->getTagName());
     //$this->assertEquals("username", $element1->getAttribute("name"));
     $element1->sendKeys("4833");
     //$element1->sendKeys(KEYS::TAB);
     //$element2 = $this->driver->getActiveElement();
     $element2 = $this->driver->findElement(WebDriverBy::name("password"));
     $this->assertEquals("input", $element1->getTagName());
     //$this->assertEquals("password", $element1->getAttribute("name"));
     $element2->sendKeys("asdf");
     $title = $this->driver->getTitle();
     $element2->submit();
     $this->driver->wait(5, 250)->until(WebDriverExpectedCondition::not(WebDriverExpectedCondition::titleIs($title)));
     $this->assertContains("boards.php", $this->driver->getCurrentURL());
 }
 public function testCalendarEntryEditTest()
 {
     //edit date
     $row = self::$webDriver->findElement(WebDriverBy::xpath("//tr[contains(text(), " . "CalendarTestBooking" . ")]/td[8]"));
     $row->findElement(WebDriverBy::linkText('Bearbeiten'))->click();
     self::$webDriver->findElement(WebDriverBy::id('from[date]_d'))->sendKeys(date('d') + 1);
     self::$webDriver->findElement(WebDriverBy::id('from[date]_m'))->sendKeys(date('m'));
     self::$webDriver->findElement(WebDriverBy::id('from[date]_y'))->sendKeys(date('Y'));
     self::$webDriver->findElement(WebDriverBy::id('from[time]_h'))->sendKeys("14");
     self::$webDriver->findElement(WebDriverBy::id('from[time]_m'))->sendKeys("00");
     self::$webDriver->findElement(WebDriverBy::id('to[date]_d'))->sendKeys(date('d') + 1);
     self::$webDriver->findElement(WebDriverBy::id('to[date]_m'))->sendKeys(date('m'));
     self::$webDriver->findElement(WebDriverBy::id('to[date]_y'))->sendKeys(date('Y'));
     self::$webDriver->findElement(WebDriverBy::id('to[time]_h'))->sendKeys("15");
     self::$webDriver->findElement(WebDriverBy::id('to[time]_m'))->sendKeys("10");
     self::$webDriver->findElement(WebDriverBy::name('cmd[saveEditBooking]'))->click();
     $this->assertContains("Buchung erfolgreich bearbeitet", self::$helper->getSuccMessage());
     self::$webDriver->findElement(WebDriverBy::linkText('Zurück zu den Buchungen'))->click();
     // check calendar for booking
     self::$webDriver->findElement(WebDriverBy::linkText(self::$helper->getCurrentMonth() . ' ' . date('Y')))->click();
     $this->assertContains("14:00 CalendarTestBooking", self::$webDriver->findElement(webDriverBy::cssSelector("div.ilTabContentOuter.ilTabsTableCell"))->getText());
     // go back to bookings
     self::$webDriver->findElement(WebDriverBy::linkText('Termine'))->click();
 }
 /**
  * Test valid booking: participants
  * @test
  */
 public function testValidBookingWithParticipants()
 {
     self::$webDriver->findElement(WebDriverBy::linktext('Buchen'))->click();
     self::$helper->fillBookingForm("Testbuchung", "12", "2", "2016", "10", "00", "12", "2", "2016", "11", "00", true, "", true, array("aaa", "bbb"));
     self::$webDriver->findElement(WebDriverBy::name('cmd[book]'))->click();
     $this->assertEquals("Buchung hinzugefügt", self::$helper->getSuccMessage());
     $page = self::$webDriver->findElement(WebDriverBy::tagName('body'))->getText();
     $this->assertContains("Alfred", $page);
     $this->assertContains("Bernd", $page);
     self::$helper->deleteFirstBooking();
 }
 /**
  * Closes web browser.
  */
 public static function tearDownAfterClass()
 {
     self::$helper->login(self::$login_user, self::$login_pass);
     self::$helper->toRSS();
     self::$helper->deleteAllRooms();
     self::$webDriver->findElement(WebDriverBy::linkText('Privilegien'))->click();
     self::$webDriver->findElement(WebDriverBy::partialLinkText(self::$classname))->click();
     self::$webDriver->findElement(WebDriverBy::partialLinkText('Klasse löschen'))->click();
     self::$webDriver->findElement(WebDriverBy::name('cmd[deleteClass]'))->click();
     self::$helper->deleteOneAttributeForBooking();
     self::$helper->deleteUser();
     self::$helper->toRSS();
     self::$helper->deleteUser();
     self::$helper->logout();
     self::$webDriver->quit();
 }
Esempio n. 15
0
 protected function getWebDriverLocator(array $by)
 {
     $type = key($by);
     $locator = $by[$type];
     switch ($type) {
         case 'id':
             return \WebDriverBy::id($locator);
         case 'name':
             return \WebDriverBy::name($locator);
         case 'css':
             return \WebDriverBy::cssSelector($locator);
         case 'xpath':
             return \WebDriverBy::xpath($locator);
         case 'link':
             return \WebDriverBy::linkText($locator);
         case 'class':
             return \WebDriverBy::className($locator);
         default:
             throw new TestRuntime("Locator type '{$by}' is not defined. Use either: xpath, css, id, link, class, name");
     }
 }
 protected function clearData()
 {
     $allowanceNameTextField = $this->webDriver->findElement(WebDriverBy::name("role_name"));
     $allowanceNameTextField->clear();
 }
 /**
  * Precondition: No priviledge classes
  * Postcondition: No priviledge classes
  * @test
  */
 public function createAndDeleteClassesTest()
 {
     //#1 Test Cancel of a creation
     self::$webDriver->findElement(WebDriverBy::linkText('Privilegien'))->click();
     self::$webDriver->findElement(WebDriverBy::linkText(' Neue Klasse anlegen '))->click();
     self::$webDriver->findElement(WebDriverBy::name('cmd[showPrivileges]'))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::linkText(' Neue Klasse anlegen '));
     } catch (Exception $ex) {
         $this->fail("#1: Cancel of a new privilege class does not link to pivilege class overview: " . $ex);
     }
     //#2 Create a Privilege Class
     self::$helper->createPrivilegClass("Test_A", "Test_A", "User", 1);
     try {
         self::$webDriver->findElement(WebDriverBy::linkText("Test_A ⇒ User"));
     } catch (Exception $ex) {
         $this->fail("#2.1: Creation of a new privilege class with ILIAS-role does not work: " . $ex);
     }
     self::$helper->createPrivilegClass("Test_C", "Test_C", "Keine", 5);
     try {
         self::$webDriver->findElement(WebDriverBy::linkText("Test_C"));
     } catch (Exception $ex) {
         $this->fail("#2.2: Creation of a new privilege class without ILIAS-role does not work: " . $ex);
     }
     self::$helper->deletePrivilegClass("Test_C");
     //#3 Create an existing privilege class
     self::$helper->createPrivilegClass("Test_A", "Test_A", "User", 1);
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#3: Creation of an existing privilege class with ILIAS-role  works: " . $ex);
     }
     //#4 Create a privilege class that gets user-rolls from the same role as another already existing class.
     self::$webDriver->findElement(WebDriverBy::name('cmd[showPrivileges]'))->click();
     self::$helper->createPrivilegClass("Test_B", "Test_B", "User", 0);
     try {
         self::$webDriver->findElement(WebDriverBy::linkText("Test_B ⇒ User"));
     } catch (Exception $ex) {
         $this->fail("#4: Creation of a new privilege class with same ILIAS-role as another does not work: " . $ex);
     }
     self::$helper->deletePrivilegClass("Test_B ⇒ User");
     //#5 Create an empty privileges class
     self::$helper->createPrivilegClass("", "Test_C", "Guest", 2);
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#5: Creation of a no-name privilege class seems to be allowed: " . $ex);
     }
     self::$webDriver->findElement(WebDriverBy::name("cmd[showPrivileges]"))->click();
     //#6 Delete Test_A class, none should be left
     self::$webDriver->findElement(WebDriverBy::linkText("Test_A ⇒ User"))->click();
     self::$webDriver->findElement(WebDriverBy::linkText(' Klasse löschen '))->click();
     self::$webDriver->findElement(WebDriverBy::name('cmd[renderEditClassForm]'))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::linkText(' Klasse löschen '))->click();
     } catch (Exception $ex) {
         $this->fail("#6.1: Click cancel in the delete confirmation does not redirect to edit of the class " . $ex);
     }
     self::$webDriver->findElement(WebDriverBy::linkText('Zurück zu den Klasseneigenschaften'))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::linkText(' Klasse löschen '))->click();
     } catch (Exception $ex) {
         $this->fail("#6.2: Click backtab in the delete confirmation does not redirect to edit of the class " . $ex);
     }
     self::$webDriver->findElement(WebDriverBy::name('cmd[deleteClass]'))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::xpath("//td[text()='Keine Klassen vorhanden']"))->click();
     } catch (Exception $ex) {
         $this->fail("#6.3: Deleting a privileges class does not delete it " . $ex);
     }
 }
Esempio n. 18
0
 public function testFailWebDriverByLocator()
 {
     $this->shouldFail();
     $this->module->amOnPage('/form/checkbox');
     $this->module->checkOption(WebDriverBy::name('age'));
 }
Esempio n. 19
0
 /**
  * Submits a form located on page.
  * Specify the form by it's css or xpath selector.
  * Fill the form fields values as array. Hidden fields can't be accessed.
  *
  * This command itself triggers the request to form's action.
  *
  * Examples:
  *
  * ``` php
  * <?php
  * $I->submitForm('#login', array('login' => 'davert', 'password' => '123456'));
  *
  * ```
  *
  * For sample Sign Up form:
  *
  * ``` html
  * <form action="/sign_up">
  *     Login: <input type="text" name="user[login]" /><br/>
  *     Password: <input type="password" name="user[password]" /><br/>
  *     Do you agree to out terms? <input type="checkbox" name="user[agree]" /><br/>
  *     Select pricing plan <select name="plan"><option value="1">Free</option><option value="2" selected="selected">Paid</option></select>
  *     <input type="submit" value="Submit" />
  * </form>
  * ```
  * You can write this:
  *
  * ``` php
  * <?php
  * $I->submitForm('#userForm', array('user' => array('login' => 'Davert', 'password' => '123456', 'agree' => true)));
  *
  * ```
  *
  * @param $selector
  * @param $params
  * @throws \Codeception\Exception\ElementNotFound
  */
 public function submitForm($selector, $params)
 {
     $form = $this->match($this->webDriver, $selector);
     if (empty($form)) {
         throw new ElementNotFound($selector, "Form via CSS or XPath");
     }
     $form = reset($form);
     /** @var $form \WebDriverElement  **/
     foreach ($params as $param => $value) {
         $els = $form->findElements(\WebDriverBy::name($param));
         $el = reset($els);
         if ($el->getTagName() == 'textarea') {
             $this->fillField($el, $value);
         }
         if ($el->getTagName() == 'select') {
             $this->selectOption($el, $value);
         }
         if ($el->getTagName() == 'input') {
             $type = $el->getAttribute('type');
             if ($type == 'text') {
                 $this->fillField($el, $value);
             }
             if ($type == 'radio' or $type == 'checkbox') {
                 foreach ($els as $radio) {
                     if ($radio->getAttribute('value') == $value) {
                         $this->checkOption($radio);
                     }
                 }
             }
         }
     }
     $this->debugSection('Uri', $form->getAttribute('action') ? $form->getAttribute('action') : $this->_getCurrentUri());
     $this->debugSection('Method', $form->getAttribute('method') ? $form->getAttribute('method') : 'GET');
     $this->debugSection('Parameters', json_encode($params));
     $form->submit();
     $this->debugSection('Page', $this->_getCurrentUri());
 }
Esempio n. 20
0
 /**
  * Wait for element whose NAME attribute matches the search value.
  *
  * @param string $name
  * @param bool $mustBeVisible Pass true to check if element is also visible. False only checks presence in DOM.
  * @return \RemoteWebElement
  */
 public function waitForName($name, $mustBeVisible = false)
 {
     return $this->waitForElement(\WebDriverBy::name($name), $mustBeVisible);
 }
 public function testApiKeyInputPresence()
 {
     $elements = self::$driver->findElements(WebDriverBy::name('tinypng_api_key'));
     $this->assertEquals(1, count($elements));
 }
 public function testEditComment()
 {
     //edit comment
     $row = self::$webDriver->findElement(WebDriverBy::xpath("//tr[contains(text(), " . "TestEditBooking" . ")]/td[8]"));
     $row->findElement(WebDriverBy::linkText('Bearbeiten'))->click();
     self::$webDriver->findElement(WebDriverBy::id('comment'))->sendKeys("aComment");
     self::$webDriver->findElement(WebDriverBy::name('cmd[saveEditBooking]'))->click();
     $this->assertContains("Buchung erfolgreich bearbeitet", self::$helper->getSuccMessage());
     self::$webDriver->findElement(WebDriverBy::linkText('Zurück zu den Buchungen'))->click();
 }
Esempio n. 23
0
 public function testNewReceiveInventory()
 {
     $this->driver->get($this->getTestPath('index.html'));
     sleep(5);
     $this->driver->findElement(WebDriverBy::name('Username'))->sendKeys('lnguyen');
     $this->driver->findElement(WebDriverBy::name('Password'))->sendKeys('password');
     $this->driver->findElement(WebDriverBy::linkText('Login'))->click();
     sleep(5);
     $this->driver->findElement(WebDriverBy::linkText('Receiving'))->click();
     for ($i = 0; $i < 10; $i++) {
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='Receive New']"))->click();
         sleep(5);
         $this->driver->findElement(WebDriverBy::name('Fromlocid'))->click();
         $this->driver->findElement(WebDriverBy::xpath("//li[text()='SJRECVING']"))->click();
         $this->driver->findElement(WebDriverBy::name('Recvtypeid'))->click();
         $this->driver->findElement(WebDriverBy::xpath("//li[text()='NEW INVENTORY']"))->click();
         $input = array("CCINTEG", "SMOOTHIE", "NASUNI", "CYPHORT", "LOADDYNAMIX", "PROOFPOINT", "NSCALED", "OPENWAVE", "QUORUM", "NEVRO", "VAULTIZE", "MICROSOFT", "ARISTOCRAT", "CYAN", "BIOTEAM", "VALVE", "UNTANGLE", "BSWITCH", "EGNYTE", "VERASONICS", "VPICORP", "ZEACOM", "NORSE", "TUMBLW", "AXWAY", "ICANN", "NORSE-FEDERAL", "FORTINET", "STRONGVIEW", "NOCTION", "DISCOVERY", "NOMINUM", "ECLSLA");
         for ($k = 0; $k < 100; $k++) {
             $this->driver->findElement(WebDriverBy::name('Partnerid'))->click();
             if ($k % 2 == 0) {
                 $this->driver->findElement(WebDriverBy::xpath("//li[text()='QUORUM']"))->click();
             } elseif ($k > 50) {
                 $this->driver->findElement(WebDriverBy::xpath("//li[text()='CCINTEG']"))->click();
             } else {
                 $this->driver->findElement(WebDriverBy::xpath("//li[text()='NASUNI']"))->click();
             }
             sleep(2);
         }
         $this->driver->findElement(WebDriverBy::name('Tolocid'))->click();
         $this->driver->findElement(WebDriverBy::xpath("//div[text()='[QUOR-RAWMAT] QUOR-RAWMAT']"))->click();
         $this->driver->findElement(WebDriverBy::name('Refpo'))->sendKeys('Refpo');
         $this->driver->findElement(WebDriverBy::name('Custpo'))->sendKeys('Custpo');
         $this->driver->findElement(WebDriverBy::name('Comment'))->sendKeys('Comment by Luu');
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='Enter Items']"))->click();
         sleep(1);
         $this->driver->findElement(WebDriverBy::name('addOrderDetail'))->sendKeys(WebDriverKeys::ENTER);
         $this->driver->findElement(WebDriverBy::xpath("//li[text()='ONQ-280-16']"))->click();
         for ($j = 0; $j < 3; $j++) {
             $arr = str_split('ABCDEFGHIJKLMNOP');
             // get all the characters into an array
             shuffle($arr);
             // randomize the array
             $arr2 = array_slice($arr, 0, 6);
             // get the first six (random) characters out
             $str = implode('', $arr2);
             // smush them back into a string
             $this->driver->findElement(WebDriverBy::name('Ssn'))->sendKeys($str);
             $this->driver->findElement(WebDriverBy::name('Ssn'))->sendKeys(WebDriverKeys::ENTER);
             sleep(2);
         }
         sleep(2);
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='Complete']"))->click();
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='Save']"))->click();
         sleep(2);
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='OK']"))->click();
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='Post Batch']"))->click();
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='OK']"))->click();
         sleep(10);
         $this->driver->findElement(WebDriverBy::xpath("//span[text()='Close']"))->click();
         sleep(2);
     }
 }
 /**
  * Tests the effects of changing a floorplan which is assigend to a room
  * @test
  */
 public function testAssignmentEffectsOfFloorplans()
 {
     self::$webDriver->findElement(WebDriverBy::linkText('Gebäudeplan'))->click();
     self::$helper->createFloorPlan('Test_A', self::$test_file_absolut_path . 'sucess.jpg', 'Test');
     //#1 Use a new floorplan by creating a room with it
     self::$helper->createRoom('123', '1', '20', "TEST", "Test_A", array());
     self::$webDriver->findElement(WebDriverBy::linkText(' Zurück zu allen Räumen '))->click();
     self::$webDriver->findElement(WebDriverBy::linkText('123'))->click();
     $text = self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Test_A']"))->getAttribute('selected');
     $this->assertEquals(false, empty($text), '#1 Using a new floorplan on a room has failed!');
     //#2 Change a floorplan which is assigend to a room
     self::$webDriver->findElement(WebDriverBy::linkText('Gebäudeplan'))->click();
     $menu = self::$webDriver->findElement(WebDriverBy::xpath("//div[@id='il_center_col']/div[4]/table/tbody/tr[2]/td[4]"));
     $menu->findElement(WebDriverBy::linkText('Aktionen'))->click();
     $menu->findElement(WebDriverBy::linkText('Bearbeiten'))->click();
     self::$webDriver->findElement(WebDriverBy::id('title'))->clear();
     self::$webDriver->findElement(WebDriverBy::id('title'))->sendKeys('Test_B');
     self::$webDriver->findElement(WebDriverBy::id('file_mode_replace'))->click();
     self::$webDriver->findElement(WebDriverBy::id('upload_file'))->sendKeys(self::$test_file_absolut_path . 'sucess.jpg');
     self::$webDriver->findElement(WebDriverBy::name('cmd[update]'))->click();
     self::$webDriver->findElement(WebDriverBy::linkText('Räume'))->click();
     self::$webDriver->findElement(WebDriverBy::linkText('123'))->click();
     $text = self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Test_B']"))->getAttribute('selected');
     $this->assertEquals(false, empty($text), '#2 Changing an assigend floorplan has failed!');
     //#3 Delete an assigned floorplan
     self::$webDriver->findElement(WebDriverBy::linkText('Gebäudeplan'))->click();
     self::$helper->deleteAllFloorPlans();
     self::$webDriver->findElement(WebDriverBy::linkText('Räume'))->click();
     self::$webDriver->findElement(WebDriverBy::linkText('123'))->click();
     $text = self::$webDriver->findElement(WebDriverBy::xpath("//option[text()=' - Keine Zuordnung - ']"))->getAttribute('selected');
     $this->assertEquals(false, empty($text), '#3 Deleting an assigend floorplan has failed!');
     self::$helper->deleteAllRooms();
 }
Esempio n. 25
0
 public function testGetByName()
 {
     $this->driver->get($this->getTestPath('index.html'));
     self::assertEquals('Test Value', $this->driver->findElement(WebDriverBy::name('test_name'))->getAttribute('value'));
 }
Esempio n. 26
0
 /**
  * @param array $by
  * @return \WebDriverBy
  */
 protected function getStrictLocator(array $by)
 {
     $type = key($by);
     $locator = $by[$type];
     switch ($type) {
         case 'id':
             return \WebDriverBy::id($locator);
         case 'name':
             return \WebDriverBy::name($locator);
         case 'css':
             return \WebDriverBy::cssSelector($locator);
         case 'xpath':
             return \WebDriverBy::xpath($locator);
         case 'link':
             return \WebDriverBy::linkText($locator);
         case 'class':
             return \WebDriverBy::className($locator);
         default:
             throw new MalformedLocatorException("{$by} => {$locator}", "Strict locator can be either xpath, css, id, link, class, name: ");
     }
 }
Esempio n. 27
0
 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);
     }
 }
Esempio n. 28
0
function orderMedications($driver, $name)
{
    goHome($driver);
    $medication = $driver->findElement(WebDriverBy::linkText('Medication List'));
    $medication->click();
    $driver->wait(65);
    $order = $driver->findElement(WebDriverBy::className('btn'));
    $order->click();
    $driver->findElement(WebDriverBy::name("quantity"))->sendKeys("23");
    $driver->findElement(WebDriverBy::name("name"))->sendKeys($name);
    $order = $driver->findElement(WebDriverBy::className('btn'));
    $order->click();
    //  $driver->findElement(WebDriverBy::name("quantity"))->sendKeys("5");
    //  $driver->findElement(WebDriverBy::name("name"))->sendKeys($name);
    //  $order = $driver->findElement(WebDriverBy::className('btn'));
    //  $order->click();
    goHome($driver);
}
Esempio n. 29
0
function login($driver)
{
    $driver->get(wordpress('/wp-login.php'));
    $driver->findElement(WebDriverBy::tagName('body'))->click();
    $driver->findElement(WebDriverBy::name('log'))->clear()->click()->sendKeys('admin');
    $driver->findElement(WebDriverBy::name('pwd'))->sendKeys('admin');
    $driver->findElement(WebDriverBy::tagName('form'))->submit();
    if ($driver->findElement(WebDriverBy::tagName('h2'))->getText() == 'Dashboard') {
        print "Successfully logged into WordPress.\n";
    } else {
        var_dump($driver->getPageSource());
        throw new UnexpectedValueException('Login failed.');
    }
}
 /**
  * @test
  */
 public function testBookingattributeManagement()
 {
     //#1 Create a new booking attribute
     self::$helper->createBookingAttribute("Book_A");
     try {
         self::$webDriver->findElement(WebDriverBy::id('radio_action_mode_rename_attribute'))->click();
         self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Book_A']"));
     } catch (Exception $ex) {
         $this->fail("#1 Creation of a new booking attribute has failed" . $ex);
     }
     //#2 Create an empty booking attribute
     self::$helper->createBookingAttribute("");
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#3 Creation of an empty booking attribute has succeded" . $ex);
     }
     //#3 Create an existing booking attribute
     self::$helper->createBookingAttribute("Book_A");
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#3 Creation of an existing booking attribute has succeded" . $ex);
     }
     //#4 Create a new booking attribute with html tags
     self::$helper->createBookingAttribute("<b><u>Book_B</u></b>");
     try {
         self::$webDriver->findElement(WebDriverBy::id('radio_action_mode_rename_attribute'))->click();
         self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Book_B']"));
     } catch (Exception $ex) {
         $this->fail("#5 Creation of a new booking attribute with HTML has failed" . $ex);
     }
     self::$helper->changeBookingAttribute('Book_B', 'Book_B');
     //#5 Check if creation bookings GUI has the new attributes
     self::$helper->createRoom('123', 1, 20, "TEST", " - Keine Zuordnung - ", array());
     self::$helper->searchForRoomByAll("123", "", "", "", date('Y') + 1, '23', '50', '23', '55', array());
     self::$webDriver->findElement(WebDriverBy::linkText("Buchen"))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::xpath("//label[text()='Book_A']"));
         self::$webDriver->findElement(WebDriverBy::xpath("//label[text()='Book_B']"));
     } catch (Exception $ex) {
         $this->fail("#5 Creation booking GUI does not have created attributes" . $ex);
     }
     self::$helper->doABooking('TEST', "", "", "", "", "", "", "", "", "", "", false, "", false, array(), array('Book_A' => 'TEST A', 'Book_B' => 'TEST B'));
     //#6 Change name of a booking attribute into a new
     self::$helper->changeBookingAttribute('Book_A', 'Book_C');
     try {
         self::$webDriver->findElement(WebDriverBy::id('radio_action_mode_rename_attribute'))->click();
         self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Book_C']"));
     } catch (Exception $ex) {
         $this->fail("#6 Renaming a booking attribute has failed" . $ex);
     }
     //#7 Change name of a booking attribute into nothing
     self::$helper->changeBookingAttribute('Book_C', '');
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#7 Changing a booking attribute to no name has succeded" . $ex);
     }
     //#8 Change name of a booking attribute into existing one
     self::$helper->changeBookingAttribute('Book_C', 'Book_B');
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#8 Changing a booking attribute to an existing name has succeded " . $ex);
     }
     //#9 Change name of a booking attribute into the same
     self::$helper->changeBookingAttribute('Book_C', 'Book_C');
     try {
         self::$webDriver->findElement(WebDriverBy::id('radio_action_mode_rename_attribute'))->click();
         self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Book_C']"));
     } catch (Exception $ex) {
         $this->fail("#9 Renaming a booking attribute to his old name has failed " . $ex);
     }
     //#10 Check if changes did not effect the bookings
     self::$webDriver->findElement(WebDriverBy::linkText('Termine'))->click();
     self::$webDriver->findElement(WebDriverBy::id('ilChkboxListAnchorText_tbl_roomobj'))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::xpath("//td[text()='Book_C']"));
         self::$webDriver->findElement(WebDriverBy::xpath("//td[text()='Book_B']"));
         $attr_inputs = self::$webDriver->findElements(WebDriverBy::name("tblfsroomobj[]"));
         foreach ($attr_inputs as $input) {
             if (empty($input->getAttribute('checked'))) {
                 $input->click();
             }
         }
         self::$webDriver->findElement(WebDriverBy::name("cmd[showBookings]"))->click();
         self::$webDriver->findElement(WebDriverBy::xpath("//td[contains(text(),'TEST A')]"));
         self::$webDriver->findElement(WebDriverBy::xpath("//td[contains(text(),'TEST B')]"));
     } catch (Exception $ex) {
         $this->fail("#10 Changes of a booking attribute does effect bookings");
     }
     //#11 Delete booking attribute
     self::$helper->deleteBookingAttribute("Book_C");
     $el = false;
     try {
         self::$webDriver->findElement(WebDriverBy::id('radio_action_mode_rename_attribute'))->click();
         $el = self::$webDriver->findElement(WebDriverBy::xpath("//option[text()='Book_C']"));
     } catch (Exception $unused) {
     }
     if ($el) {
         $this->fail("#11 Deleting a booking attribute has failed");
     }
     self::$helper->deleteBookingAttribute("Book_B");
     //#12 Change none booking attribute to a new name
     self::$helper->changeBookingAttribute('', 'Book_B');
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#12 Changing a none existing booking attribute to an none existing name has succeded" . $ex);
     }
     //#13 Delete none booking attribute
     self::$helper->deleteBookingAttribute('');
     try {
         self::$webDriver->findElement(WebDriverBy::className("ilFailureMessage"));
     } catch (Exception $ex) {
         $this->fail("#13 Deleting a none existing booking attribute has succeded" . $ex);
     }
     //#14 Check if deletion did effect the bookings
     self::$webDriver->findElement(WebDriverBy::linkText('Termine'))->click();
     try {
         self::$webDriver->findElement(WebDriverBy::id('ilChkboxListAnchorText_tbl_roomobj'))->click();
         $this->fail("#14 Deletion of a booking attribute does not effect bookings");
     } catch (Exception $unused) {
     }
     self::$helper->deleteAllRooms();
 }