/** * @test */ public function 質問ページから質問投稿する() { // $basic_user = '******'; // $basic_pass = '******'; // $gooid_user = '******'; // $gooid_pass = '******'; // $domain = '*****.goo.ne.jp'; require __DIR__ . '/../config.php'; $basic_user = urlencode($basic_user); $basic_pass = urlencode($basic_pass); $title = 'タイトル' . time(); $description = '本文' . time(); $driver = Util::createDriver(); Util::loginToGoo($driver, $gooid_user, $gooid_pass); $driver->get("http://{$basic_user}:{$basic_pass}@{$domain}/question"); $driver->findElement(\WebDriverBy::id('title_area'))->sendKeys($title); $driver->findElement(\WebDriverBy::id('text_area'))->sendKeys($description); $driver->findElement(\WebDriverBy::cssSelector('#question_confirm_btn > a > span.q-text'))->click(); Util::skipPageLenvingAlert($driver); $driver->wait(5)->until(\WebDriverExpectedCondition::visibilityOfElementLocated(\WebDriverBy::cssSelector('#match_categories > input'))); $driver->findElement(\WebDriverBy::cssSelector('#question_complete_button > a'))->click(); $driver->findElement(\WebDriverBy::cssSelector('li.tooSeeBtn > a'))->click(); $actual_title = $driver->getTitle(); $url = $driver->getCurrentUrl(); preg_match('/\\/qa\\/(\\d+)\\.html/', $url, $matches); $qid = $matches[1]; $trimed_title = preg_replace('/ - .+/', '', $actual_title); echo $actual_title . "\n"; echo $url . "\n"; echo $qid . "\n"; $driver->quit(); $this->assertEquals($title, $trimed_title); }
public function testProcessOrder() { $this->driver->get($this->getTestPath('/admin')); $this->driver->findElement(WebDriverBy::id('username'))->sendKeys('admin'); $this->driver->findElement(WebDriverBy::id('login'))->sendKeys('P@ssw0rd'); $this->driver->findElement(WebDriverBy::className('form-button'))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Sales']"))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Orders']"))->click(); $this->driver->wait()->until(WebDriverExpectedCondition::presenceOfElementLocated(WebDriverBy::id('sales_order_grid_filter_real_order_id'))); $this->driver->findElement(WebDriverBy::id('sales_order_grid_filter_real_order_id'))->sendKeys('ICANN-D10000014'); $this->driver->findElement(WebDriverBy::id('sales_order_grid_filter_real_order_id'))->sendKeys(WebDriverKeys::ENTER); sleep(3); $this->driver->findElement(WebDriverBy::xpath("//html/body/div[1]/div[2]/div/div[3]/div/div[2]/div/table/tbody/tr[1]/td[2]"))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Invoice']"))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Submit Invoice']"))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Ship']"))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Add Tracking Number']"))->click(); $this->driver->findElement(WebDriverBy::id("trackingC1"))->click(); $this->driver->findElement(WebDriverBy::xpath("//select[@id='trackingC1']/option[@value='fedex']"))->click(); $this->driver->findElement(WebDriverBy::id("trackingT1"))->sendKeys('FEDEX'); $this->driver->findElement(WebDriverBy::id("trackingN1"))->sendKeys('Tracking0001'); $this->driver->findElement(WebDriverBy::id("send_email"))->click(); $this->driver->findElement(WebDriverBy::xpath("//span[text()='Submit Shipment']"))->click(); sleep(5); }
public function testGoogle() { $this->driver->get(Util::buildUrl('/')); echo $this->driver->getTitle(); echo $this->driver->findElement(WebDriverBy::id('id1'))->getText(); $this->driver->takeScreenshot(ROOT . '/tests/tmp/sc.png'); }
public function testTestPageWelcome() { $this->driver->get($this->getTestPath('index.html')); self::assertEquals( 'Welcome to the facebook/php-webdriver testing page.', $this->driver->findElement(WebDriverBy::id('welcome'))->getText() ); }
/** * @dataProvider userLocations */ public function testUserLocation($proxy, $expected) { $this->driver = $this->proxied($proxy); $this->driver->get($this->url); $search = $this->driver->findElement(WebDriverBy::id('user-city')); $this->assertContains($expected, $search->getText()); }
public function testUselessFileDetectorSendKeys() { $this->driver->get($this->getTestPath('upload.html')); $file_input = $this->driver->findElement(WebDriverBy::id('upload')); $file_input->sendKeys($this->getFilePath()); self::assertEquals($this->getFilePath(), $file_input->getAttribute('value')); }
public function testGoogle2() { static::$driver->get(Util::buildUrl('/')); echo static::$driver->getTitle(); echo static::$driver->findElement(WebDriverBy::id('id1'))->getText(); static::$driver->takeScreenshot(ROOT . '/tests/tmp/sc1.png'); }
/** * @test */ public function validaTempoDeMensagemVoceEPassienteEm7Segundos() { $this->driver->manage()->timeouts()->implicitlyWait(2); $this->driver->get($this->url); $mensagem = $this->driver->findElement(WebDriverBy::id("mensagem-magica"))->getText(); $this->assertEquals("Voce e paciente!", $mensagem); }
/** * Tests that the page does not load if the user does not have correct * permissions * * @return void */ function testLoadsWithPermission() { $this->setupPermissions(array("training")); $this->safeGet($this->url . "/training/"); $bodyText = $this->webDriver->findElement(WebDriverBy::id("training-options"))->getText(); $this->assertContains("training", $bodyText); $this->resetPermissions(); }
/** * @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")); }
public function login($user, $pass) { $this->driver->get($this->url); $this->driver->findElement(WebDriverBy::id("usuariologin"))->sendKeys("teste"); $this->driver->findElement(WebDriverBy::id("usuariosenha"))->sendKeys("123"); $this->driver->findElement(WebDriverBy::tagName("button"))->click(); $this->assertEquals("Administração QuickLoja", $this->driver->getTitle()); return $this->driver; }
public static function loginToGoo($driver, $goo_id, $password) { require ROOT . '/tests/config.php'; $driver->get('https://login.mail.goo.ne.jp/id/authn/LoginStart'); $driver->findElement(\WebDriverBy::id('uname'))->sendKeys($goo_id); $element = $driver->findElement(\WebDriverBy::id('pass')); $element = $element->sendKeys($password); $element->submit(); }
/** * @test */ public function gooIDログインする() { require ROOT . '/tests/config.php'; $driver = Util::createSmartPhoneUaDriver(); $driver->get('https://login.mail.goo.ne.jp/id/authn/LoginStart'); $driver->findElement(\WebDriverBy::id('uname'))->sendKeys($gooid_user); $element = $driver->findElement(\WebDriverBy::id('pass')); $element = $element->sendKeys($gooid_pass); $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 testShouldPersistSizes() { $element = self::$driver->findElement(WebDriverBy::id('tinypng_sizes_medium')); $element->click(); self::$driver->findElement(WebDriverBy::tagName('form'))->submit(); $elements = self::$driver->findElements(WebDriverBy::xpath('//input[@type="checkbox" and starts-with(@name, "tinypng_sizes") and @checked="checked"]')); $size_ids = array_map('elementName', $elements); $this->assertContains('tinypng_sizes[thumbnail]', $size_ids); $this->assertNotContains('tinypng_sizes[medium]', $size_ids); $this->assertContains('tinypng_sizes[large]', $size_ids); }
protected function disable_resize() { $url = wordpress('/wp-admin/options-media.php'); if (self::$driver->getCurrentUrl() != $url) { self::$driver->get($url); } $element = self::$driver->findElement(WebDriverBy::id('tinypng_resize_original_enabled')); if ($element->getAttribute('checked')) { $element->click(); } self::$driver->findElement(WebDriverBy::tagName('form'))->submit(); }
public static function registerNewUser($webDriver) { $now = time(); self::clickRegisterLink($webDriver); $elements_values = array('edit-name' => $now, 'edit-mail' => "{$now}@example.com", 'edit-pass-pass1' => 'password', 'edit-pass-pass2' => 'password'); foreach ($elements_values as $key => $value) { $element = $webDriver->findElement(WebDriverBy::id($key)); $element->clear()->sendKeys($value); } $submit = $webDriver->findElement(WebDriverBy::id('edit-submit')); $submit->click(); return $now; }
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); }
public function testSearch() { $this->webDriver->get($this->url); // find search field by its id $search = $this->webDriver->findElement(WebDriverBy::id('js-command-bar-field')); $search->click(); // typing into field $this->webDriver->getKeyboard()->sendKeys('php-webdriver'); // pressing "Enter" $this->webDriver->getKeyboard()->pressKey(WebDriverKeys::ENTER); $firstResult = $this->webDriver->findElement(WebDriverBy::cssSelector('li.public:nth-child(1) > h3:nth-child(3) > a:nth-child(1) > em:nth-child(2)')); $firstResult->click(); // we expect that facebook/php-webdriver was the first result $this->assertContains("php-webdriver", $this->webDriver->getTitle()); $this->assertEquals('https://github.com/facebook/php-webdriver', $this->webDriver->getCurrentURL()); $this->assertElementNotFound(WebDriverBy::className('avatar')); // $this->waitForUserInput(); }
/** * 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'); }
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(); }
public function testGetById() { $this->driver->get($this->getTestPath('index.html')); self::assertEquals('Test by ID', $this->driver->findElement(WebDriverBy::id('id_test'))->getText()); }
public function testWebDriverByLocators() { $this->module->amOnPage('/login'); $this->module->seeElement(WebDriverBy::id('submit-label')); $this->module->seeElement(WebDriverBy::name('password')); $this->module->seeElement(WebDriverBy::className('optional')); $this->module->seeElement(WebDriverBy::cssSelector('form.global_form_box')); $this->module->seeElement(WebDriverBy::xpath(\Codeception\Util\Locator::tabIndex(4))); $this->module->fillField(WebDriverBy::name('password'), '123456'); $this->module->amOnPage('/form/select'); $this->module->selectOption(WebDriverBy::name('age'), 'child'); $this->module->amOnPage('/form/checkbox'); $this->module->checkOption(WebDriverBy::name('terms')); $this->module->amOnPage('/'); $this->module->seeElement(WebDriverBy::linkText('Test')); $this->module->click(WebDriverBy::linkText('Test')); $this->module->seeCurrentUrlEquals('/form/hidden'); }
/** * @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); }
public function testRawSelenium() { $this->module->amOnPage('/'); $this->module->executeInSelenium(function (\Webdriver $webdriver) { $webdriver->findElement(WebDriverBy::id('link'))->click(); }); $this->module->seeCurrentUrlEquals('/info'); }
/** * 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(); }
/** * Tests that the Add Examiner form loads if the user has the correct permission * * @return void */ function testAddExaminerFormLoadsWithPermission() { $this->setupPermissions(array("examiner_view")); $this->safeGet($this->url . "/examiner/"); // Test that the selection filter appears $bodyText = $this->webDriver->findElement(WebDriverBy::id("lorisworkspace"))->getText(); $this->assertContains("Add Examiner", $bodyText); // Check the name input $nameInput = $this->webDriver->findElement(WebDriverBy::Name("addName")); $this->assertEquals("input", $nameInput->getTagName()); // Check the radiologist input $radiologistInput = $this->webDriver->findElement(WebDriverBy::Name("addRadiologist")); $this->assertEquals("input", $radiologistInput->getTagName()); // Check the site input $siteInput = $this->webDriver->findElement(WebDriverBy::Name("addSite")); $this->assertEquals("select", $siteInput->getTagName()); $this->resetPermissions(); }
/** * Инициализация select sizes что бы делать клик после обновления страницы с новым обьектом * @return WebDriverSelect */ private function init_select_sizes() { return new WebDriverSelect($this->web_driver->findElement(WebDriverBy::id("MainContent_DDListSize"))); }
<?php set_error_handler(function ($errno, $errstr, $errfile, $errline) { throw new ErrorException($errstr, $errno, 0, $errfile, $errline); }); require __DIR__ . '/../vendor/autoload.php'; $driver = RemoteWebDriver::create('127.0.0.1:4444/wd/hub', DesiredCapabilities::phantomjs()); $driver->manage()->window()->setSize(new WebDriverDimension(1024, 1024)); $driver->manage()->timeouts()->implicitlyWait(8); $driver->get('http://www.sbb.ch/geschaeftsreisen.html'); $driver->findElement(WebDriverBy::id('btUser'))->sendKeys('stc-cpedersoli');
public function testFilterPanel() { self::$webDriver->findElement(WebDriverBy::linkText('Termine'))->click(); #2: Hide Booking Filter self::$webDriver->findElement(WebDriverBy::linkText('Filter ausblenden'))->click(); $this->assertEquals(false, self::$webDriver->findElement(WebDriverBy::name('cmd[applyFilter]'))->isDisplayed(), '#1 Hiding the Filter does not hide it'); #1: Show Booking Filtere self::$webDriver->findElement(WebDriverBy::partialLinkText('Filter anzeigen'))->click(); $this->assertEquals(true, self::$webDriver->findElement(WebDriverBy::name('cmd[applyFilter]'))->isDisplayed(), '#2 Showing the Filter does not show it'); #3 Apply and hide filter self::$webDriver->findElement(WebDriverBy::id('login'))->sendKeys(self::$login_user); self::$webDriver->findElement(WebDriverBy::partialLinkText('Filter ausblenden'))->click(); self::$webDriver->findElement(WebDriverBy::partialLinkText('Filter anzeigen'))->click(); $this->assertEquals(self::$login_user, self::$webDriver->findElement(WebDriverBy::name('login'))->getAttribute('value'), '#3 Hiding and showing the RoomFilter resets it'); #4 Reset filter self::$webDriver->findElement(WebDriverBy::name('cmd[resetFilter]'))->click(); $this->assertEquals(true, empty(self::$webDriver->findElement(WebDriverBy::name('login'))->getAttribute('value')), '#4 Filter reseting does not work'); }