public function testImportUsers() { $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Courses')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'APSC 201')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Import Students')->click(); $file = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'UserFile'); $file->sendKeys(dirname(__FILE__) . '/files/newClass_APSC201.csv'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[type="submit"]')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { $h3 = $session->elementWithWait(PHPWebDriver_WebDriverBy::TAG_NAME, 'h3'); return $h3->text() == 'User(s) created successfully:'; }); $this->checkSummary(); // check class list - should have 17 students $this->session->open($this->url . 'users/goToClassList/2'); $classSize = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'div[class="dataTables_info"]')->text(); $this->assertEqual($classSize, 'Showing 1 to 10 of 17 entries'); $search = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[aria-controls="table_id"]'); $search->sendKeys('New'); $w->until(function ($session) { $count = count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'tr[class="odd"]')); return $count == 1; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'td[class=" sorting_1"]')->click(); $newStudent = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'View')->attribute('href'); $userId = end(explode('/', $newStudent)); $this->updateClassList(); $this->session->open($this->url . 'users/delete/' . $userId); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'Record is successfully deleted!'); }
public function testAddOauthClientOtherUser() { $this->session->open($this->url . 'oauthclients/add'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="OauthClientUserId"] option[value="4"]')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[value="Submit"]')->click(); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'A new OAuth client has been created'); $this->waitForLogoutLogin('instructor3'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Instructor 3')->click(); // instructors will not be able to see the Oauth section of their profile $oauth = $this->session->elements(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Add Client Credential'); $this->assertTrue(empty($oauth)); $this->waitForLogoutLogin('root'); $this->session->open($this->url . 'oauthclients'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[aria-controls="table_id"]')->sendKeys('instructor3'); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { $count = count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'tr[class="odd"]')); return $count == 1; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'td[class=" sorting_1"]')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Delete')->click(); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'OAuth client deleted'); }
public function wait_for_object($chain, $timeout = 30, $poll_frequency = 0.5) { $w = new PHPWebDriver_WebDriverWait($this->session, $timeout, $poll_frequency, array("movie" => $this->movie, "chain" => $chain)); $e = $w->until(function ($session, $extra_arguments) { $fp = new PHPWebDriver_WebDriver_Support_FlashFlex_FlexPilot($session, $extra_arguments["movie"]); return $fp->is_flex_object($extra_arguments["chain"]); }); }
function create_fashion_profile() { self::$session->click($this->locators["create new profile"]); $w = new PHPWebDriver_WebDriverWait(self::$session); $w->until(function ($driver) { $driver->find_element_by_locator("id=overlayPanelProfileovolp-pad"); }); }
function wait_until_loaded() { $w = new \PHPWebDriver_WebDriverWait(self::$session, $GLOBALS['timeouts']['seconds'], 0.5, array("locator" => $this->locators['upload'])); $w->until(function ($session, $extra_arguments) { return call_user_func_array(array($session, "element"), $extra_arguments['locator']); }); return $this; }
function wait_until_loaded() { $w = new \PHPWebDriver_WebDriverWait($this->session, 30, 0.5, array("locator" => $this->locators['fork me ribbon'])); $w->until(function ($session, $extra_arguments) { list($type, $string) = $extra_arguments['locator']; return $session->element($type, $string); }); return $this; }
/** * @group android * @group click */ public function testAndroidClick() { $this->session = self::$driver->session("android"); $this->session->open("http://www.illicitonion.com/selenium-web/clicks.html"); $e = $this->session->element("id", "normal"); $this->session->touch()->click(array('element' => $e->getID())); $w = new \PHPWebDriver_WebDriverWait($this->session, 5); $e = $w->until(function ($session) { return $session->element("css selector", "h1.header"); }); assert($e->text() == "XHTML Might Be The Future"); }
public function elementsWithWait($using, $value) { $selector = array('selector' => $using, 'value' => $value); $w = new PHPWebDriver_WebDriverWait($this, 30, 0.5, $selector); try { $w->until(function ($session, $selector) { return count($session->elements($selector['selector'], $selector['value'])); }); } catch (Exception $e) { throw new Exception('Failed to wait for element ' . $value . ' using ' . $using . '.', 0, $e); } return $this->elements($using, $value); }
function wait_for_element_available($locator, $timeout = null) { if (!$timeout) { $timeout = $GLOBALS['timeouts']['seconds']; } $w = new \PHPWebDriver_WebDriverWait(self::$session, $timeout); $before = time(); $w->until(create_function('$session', sprintf('$got = $session->find_elements_by_locator("%s"); if (count($got) > 0) { return $got; } else { return false; }', addslashes($locator)))); $remaining = $before + $timeout - time(); if ($remaining > 0) { $w->until(create_function('$session', sprintf('$got = $session->find_element_by_locator("%s"); if ($got->displayed()) { return $got; } else { return false; }', addslashes($locator)))); } }
function open_session($session_name) { $needles = array(' ', '!'); $session_name = str_replace($needles, "_", $session_name); $session_name = strtolower($session_name); list($type, $string) = $this->locators["session"]; $string = str_replace('REPLACE', $session_name, $string); $e = $this->session->element($type, $string); $e->click(); $w = new \PHPWebDriver_WebDriverWait($this->session, 30, 0.5, array("locator" => $this->locators['fancy iframe'])); $iframe = $w->until(function ($session, $extra_arguments) { list($type, $string) = $extra_arguments['locator']; return $session->element($type, $string); }); $this->session->switch_to_frame($iframe); }
/** * @group sauce * @group android40 */ public function testAndroid40() { $caps = array(); $caps["platform"] = 'LINUX'; $caps["version"] = '4.0'; $this->session = self::$driver->session("android", $caps); $this->session->open("https://saucelabs.com/login"); $e = $this->session->element("id", "username"); $e->sendKeys("gobblygook"); $e = $this->session->element("id", "password"); $e->sendKeys("nonsense"); $e = $this->session->element("id", "submit"); $e->click(); $w = new \PHPWebDriver_WebDriverWait($this->session); $e = $w->until(function ($session) { return $session->element("css selector", "error"); }); $this->assertEquals($e->text, "Incorrect username or password."); }
function login_as($username, $password, $success = true) { $this->username = $username; $this->password = $password; list($type, $string) = $this->locators['submit button']; $e = $this->session->element($type, $string); $e->click(); if ($success) { $p = new \DashboardPage($this->session); $p->wait_until_loaded(); return $p; } else { $w = new \PHPWebDriver_WebDriverWait($this->session, 30, 0.5, array("locator" => $this->locators['errors'])); $w->until(function ($session, $extra_arguments) { list($type, $string) = $extra_arguments['locator']; $e = $session->element($type, $string); return $e->displayed(); }); return $this; } }
/** * @group upload */ public function test_file_exists_full_path() { self::$session->open("http://picpaste.com/"); $my_file = dirname(__FILE__) . '/english_muffin.jpg'; $e = call_user_func_array(array(self::$session, "element"), $this->locators['upload']); $e->sendKeys($my_file); $st = call_user_func_array(array(self::$session, "element"), $this->locators['storetime']); $s = new PHPWebDriver_Support_WebDriverSelect($st); $s->select_by_visible_text('30 Minutes'); $of = call_user_func_array(array(self::$session, "element"), $this->locators['obscure_filename']); $s = new PHPWebDriver_Support_WebDriverSelect($of); $s->select_by_visible_text('basic'); $ar = call_user_func_array(array(self::$session, "element"), $this->locators['accept_rules']); $s = new PHPWebDriver_Support_WebDriverSelect($ar); $s->select_by_visible_text('Yes'); $b = call_user_func_array(array(self::$session, "element"), $this->locators['button']); $b->click(); $w = new \PHPWebDriver_WebDriverWait(self::$session, 15, 0.5, array("locator" => $this->locators['image'])); $w->until(function ($session, $extra_arguments) { return call_user_func_array(array($session, "element"), $extra_arguments['locator']); }); }
public function testDeleteGroups() { $w = new PHPWebDriver_WebDriverWait($this->session); // delete the 6 groups for ($i = 0; $i < 6; $i++) { $this->session->elementWithWait(PHPWebDriver_WebDriverBy::PARTIAL_LINK_TEXT, 'Great Group Team #')->click(); $this->session->open(str_replace('view', 'delete', $this->session->url())); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'The group was deleted successfully.'); } // delete the survey group set $this->session->open($this->url . 'surveygroups/delete/' . $this->surveyGroupId); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'The group set was deleted successfully.'); }
public function updatePermissions() { $this->session->accept_alert(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'Permissions have been updated'); }
public function moveStudent($userId) { $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseSourceCourses"] option[value="1"]')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseSourceSurveys"] option')) - 1; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseSourceSurveys"] option[value="4"]')->click(); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseSubmitters"] option')) - 1; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseSubmitters"] option[value="' . $userId . '"]')->click(); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseDestCourses"] option')) - 1; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseDestCourses"] option[value="' . $this->courseId . '"]')->click(); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseDestSurveys"] option')) - 1; }); $surveys = $this->session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="CourseDestSurveys"] option'); $surveys[1]->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'submit')->click(); }
public function logoutLogin($username) { $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Logout')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $session = $this->session; $w->until(function ($session) { $title = $session->title(); return $title == 'iPeer - Guard'; }); $login = PageFactory::initElements($this->session, 'Login'); $home = $login->login($username, 'ipeeripeer'); }
public function testDeleteRubric() { $this->session->open($this->url . 'rubrics/delete/' . $this->rubricId); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'The rubric was deleted successfully.'); }
public function testEnrollingEnrolledTutor() { $this->session->open($this->url . 'users/add/1'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'UserUsername')->sendKeys('tutor1'); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return $session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'div[id="usernameErr"]')->text(); }); $warning = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'div[id="usernameErr"]')->text(); $this->assertEqual(substr($warning, 0, 33), 'Username "tutor1" already exists.'); // click here to enrol $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'here')->click(); // wait for the tutor to be enrolled $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::ID, "flashMessage")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, "flashMessage")->text(); $this->assertEqual($msg, 'Error: The student is already enrolled.'); }
public function deleteQues() { $delete = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Delete')->click(); $this->session->accept_alert(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'The question was removed successfully.'); }
public function testAccessibleRoles() { $primary = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'UserPrimarySearchValue'); $primary->clear(); $primary->sendKeys('root'); $return = new PHPWebDriver_WebDriverKeys('ReturnKey'); $primary->sendKeys($return->key); // wait for primary account search results // will not find root (super admin) because it is not an accessible role for admins $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { $option = $session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="UserPrimaryAccount"] option'); return $option->text() == '-- No users found --'; }); $prmy = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'UserPrimaryAccount'); $this->assertTrue($prmy->attribute('disabled')); }
public function thirdStudent() { $this->waitForLogoutLogin('redshirt0003'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Survey')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'SurveyInput0ResponseId10')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'SurveyInputResponseId11')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'SurveyInputResponseId12')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'SurveyInput3ResponseText')->sendKeys('long long long'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[value="Submit"]')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'Your survey was submitted successfully!'); }
public function testImportWithStudentNo() { $this->session->open($this->url . 'groups/import/1'); $file = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'GroupFile'); // students identified with student numbers $file->sendKeys(dirname(__FILE__) . '/files/groupsStudentNo.csv'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'GroupIdentifiersStudentNo')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[type="submit"]')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[id='title']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[id='title']")->text(); $this->assertEqual($msg, 'The group CSV file was processed.'); $group = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::XPATH, '//*[@id="groupsimport"]/table[1]/tbody/tr[2]/td')->text(); $this->assertEqual($group, 'Best Team'); $title = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::XPATH, '//*[@id="groupsimport"]/h2[2]')->text(); $this->assertEqual($title, 'Students Placed'); $user = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::XPATH, '//*[@id="groupsimport"]/table[2]/tbody/tr[2]/td[1]')->text(); $this->assertEqual($user, '65498451'); $user = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::XPATH, '//*[@id="groupsimport"]/table[2]/tbody/tr[3]/td[1]')->text(); $this->assertEqual($user, '65468188'); $user = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::XPATH, '//*[@id="groupsimport"]/table[2]/tbody/tr[4]/td[1]')->text(); $this->assertEqual($user, '98985481'); $user = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::XPATH, '//*[@id="groupsimport"]/table[2]/tbody/tr[5]/td[1]')->text(); $this->assertEqual($user, '84188465'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[value="OK"]')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::LINK_TEXT, 'Best Team (4 members)')->click(); $this->session->open(str_replace('view', 'delete', $this->session->url())); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'The group was deleted successfully.'); }
public function assignToGroup() { $this->session->open($this->url . 'groups/edit/1'); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'select[id="all_groups"] option[value="35"]')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[value="Assign >>"]')->click(); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'input[value="Edit Group"]')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); }
public function testEditReorderSelfEvaluation() { // test first peer evaluation question going up $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="upQ(0, 0); return false;"]')->click(); $num = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex0')->text(); $this->assertEqual($num, '1.'); // test last peer evaluation question going down $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="downQ(1, 0); return false;"]')->click(); $num = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex1')->text(); $this->assertEqual($num, '2.'); // test first self-evaluation question going up $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="upQ(2, 1); return false;"]')->click(); $num = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex2')->text(); $this->assertEqual($num, '1.'); // test last self-evaluation question going down $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="downQ(4, 1); return false;"]')->click(); $num = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex4')->text(); $this->assertEqual($num, '3.'); // test moving questions around $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="downQ(0, 0); return false;"]')->click(); $w = new PHPWebDriver_WebDriverWait($this->session); $w->until(function ($session) { $quesNum = $session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex0')->text(); return $quesNum == '2.'; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="downQ(2, 1); return false;"]')->click(); $w->until(function ($session) { $quesNum = $session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex2')->text(); return $quesNum == '2.'; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'a[onclick="upQ(4, 1); return false;"]')->click(); $w->until(function ($session) { $quesNum = $session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'questionIndex4')->text(); return $quesNum == '2.'; }); $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, 'button[type="submit"]')->click(); $w->until(function ($session) { return count($session->elementsWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")); }); $this->session->open($this->mixeval); $peer1 = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'q_1_1'); $this->assertEqual($peer1->text(), "1. Peer required\n*"); $peer2 = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'q_1_2'); $this->assertEqual($peer2->text(), "2. Peer optional"); $self1 = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'q_1_3'); $this->assertEqual($self1->text(), "1. Self 2\n*"); $self2 = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'q_1_4'); $this->assertEqual($self2->text(), "2. Self 3\n*"); $self3 = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::ID, 'q_1_5'); $this->assertEqual($self3->text(), "3. Self 1\n*"); // delete mixeval $this->session->open(str_replace('view', 'delete', $this->mixeval)); $msg = $this->session->elementWithWait(PHPWebDriver_WebDriverBy::CSS_SELECTOR, "div[class='message good-message green']")->text(); $this->assertEqual($msg, 'The Mixed Evaluation was removed successfully.'); }