コード例 #1
0
 public function testErrorsNamePage()
 {
     $databaseName = DB_NAME_PREFIX . "_error_name";
     parent::navigateNamePage($databaseName);
     // Verify warning message for all blank fields
     parent::clickContinueButton();
     $this->assertEquals("Enter a site name.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     $this->assertEquals("Enter an administrator username.", $this->getText(LINK_DIV . "div[3]/div[2]"));
     $this->assertEquals("Enter a password for the administrator account.", $this->getText(LINK_DIV . "div[4]/div[2]"));
     // Verify warning message for the blank 'Site name'
     $this->type("config__AdminName", VALID_YOUR_NAME);
     $this->type("config__AdminPassword", VALID_PASSWORD);
     $this->type("config__AdminPassword2", VALID_PASSWORD_AGAIN);
     parent::clickContinueButton();
     $this->assertEquals("Enter a site name.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     // Input valid 'Site name'
     $this->type("config_wgSitename", VALID_WIKI_NAME);
     // Verify warning message for the invalid "Project namespace'
     $this->click("config__NamespaceType_other");
     $this->type("config_wgMetaNamespace", INVALID_NAMESPACE);
     parent::clickContinueButton();
     $this->assertEquals("The specified namespace \"\" is invalid. Specify a different project namespace.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     // Verify warning message for the blank 'Project namespace'
     $this->type("config_wgSitename", VALID_WIKI_NAME);
     $this->click("config__NamespaceType_other");
     $this->type("config_wgMetaNamespace", "");
     parent::clickContinueButton();
     $this->assertEquals("The specified namespace \"\" is invalid. Specify a different project namespace.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     // Valid 'Project namespace'
     $this->click("config__NamespaceType_other");
     $this->type("config_wgMetaNamespace", VALID_NAMESPACE);
     parent::clickContinueButton();
     // Valid 'Site name'
     $this->click("config__NamespaceType_site-name");
     $this->type("config_wgSitename", VALID_WIKI_NAME);
     // Verify warning message for blank 'Your name'
     $this->type("config__AdminName", " ");
     parent::clickContinueButton();
     $this->assertEquals("Enter an administrator username.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     $this->type("config_wgSitename", VALID_WIKI_NAME);
     // Verify warning message for blank 'Password'
     $this->type("config__AdminName", VALID_YOUR_NAME);
     $this->type("config__AdminPassword", " ");
     parent::clickContinueButton();
     $this->assertEquals("Enter a password for the administrator account.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     // Verify warning message for the blank 'Password again'
     $this->type("config_wgSitename", VALID_WIKI_NAME);
     $this->type("config__AdminPassword", VALID_PASSWORD);
     $this->type("config__AdminPassword2", " ");
     parent::clickContinueButton();
     $this->assertEquals("The two passwords you entered do not match.", $this->getText(LINK_DIV . "div[2]/div[2]"));
     // Verify warning message for the different'Password' and 'Password again'
     $this->type("config_wgSitename", VALID_WIKI_NAME);
     $this->type("config__AdminPassword", VALID_PASSWORD);
     $this->type("config__AdminPassword2", INVALID_PASSWORD_AGAIN);
     parent::clickContinueButton();
     $this->assertEquals("The two passwords you entered do not match.", $this->getText(LINK_DIV . "div[2]/div[2]"));
 }
コード例 #2
0
 public function testNameFieldHint()
 {
     $databaseName = DB_NAME_PREFIX . "_name_field";
     parent::navigateNamePage($databaseName);
     // Verify help field for 'Name of Wiki'
     $this->click(LINK_FORM . "div[1]/div[1]/div/span[1]");
     $this->assertEquals(NAME_OF_WIKI_HELP, $this->getText(LINK_FORM . "div[1]/div[1]/div/span[2]/p"));
     // Verify help field for 'Project namespace'
     $this->click(LINK_FORM . "div[2]/div[1]/div/span[1]");
     $this->assertEquals(PROJECT_NAMESPACE_HELP, $this->getText(LINK_FORM . "div[2]/div[1]/div/span[2]/p"));
     // Verify help field for 'Your Name'
     $this->click(LINK_FORM . "fieldset/div[1]/div[1]/div/span[1]");
     $this->assertEquals(USER_NAME_HELP, $this->getText(LINK_FORM . "fieldset/div[1]/div[1]/div/span[2]/p"));
     // Verify help field for 'E mail address'
     $this->click(LINK_FORM . "fieldset/div[4]/div[1]/div/span[1]");
     $this->assertEquals(EMAIL_ADDRESS_HELP, $this->getText(LINK_FORM . "fieldset/div[4]/div[1]/div/span[2]/p"));
     parent::restartInstallation();
 }
コード例 #3
0
 public function testBothButtonsAvailability()
 {
     // Verify buttons availability on 'Welcome to MediaWiki' page
     parent::navigateWelcometoMediaWikiPage();
     $this->assertTrue($this->isElementPresent("submit-back"));
     $this->assertTrue($this->isElementPresent("submit-continue"));
     parent::restartInstallation();
     // Verify buttons availability on 'Connect to Database' page
     parent::navigateConnetToDatabasePage();
     $this->assertTrue($this->isElementPresent("submit-back"));
     $this->assertTrue($this->isElementPresent("submit-continue"));
     parent::restartInstallation();
     // Verify buttons availability on 'Database settings' page
     $databaseName = DB_NAME_PREFIX . "_db_settings";
     parent::navigateDatabaseSettingsPage($databaseName);
     $this->assertTrue($this->isElementPresent("submit-back"));
     $this->assertTrue($this->isElementPresent("submit-continue"));
     parent::restartInstallation();
     // Verify buttons availability on 'Name' page
     $databaseName = DB_NAME_PREFIX . "_name";
     parent::navigateNamePage($databaseName);
     $this->assertTrue($this->isElementPresent("submit-back"));
     $this->assertTrue($this->isElementPresent("submit-continue"));
     parent::restartInstallation();
     // Verify buttons availability on 'Options' page
     $databaseName = DB_NAME_PREFIX . "_options";
     parent::navigateOptionsPage($databaseName);
     $this->assertTrue($this->isElementPresent("submit-back"));
     $this->assertTrue($this->isElementPresent("submit-continue"));
     parent::restartInstallation();
     // Verify buttons availability on 'Install' page
     $databaseName = DB_NAME_PREFIX . "_install";
     parent::navigateInstallPage($databaseName);
     $this->assertTrue($this->isElementPresent("submit-back"));
     $this->assertTrue($this->isElementPresent("submit-continue"));
 }
コード例 #4
0
 public function testNamePageUI()
 {
     $databaseName = DB_NAME_PREFIX . "_name_UI";
     parent::navigateNamePage($databaseName);
     // 'Name of wiki' text box available
     $this->assertEquals("Name of wiki:", $this->getText(LINK_FORM . "div[1]/div[1]/label"));
     $this->assertTrue($this->isElementPresent("config_wgSitename"));
     // 'Project namespace' label available
     $this->assertEquals("Project namespace:", $this->getText(LINK_FORM . "div[2]/div[1]/label"));
     // 'Same as the wiki name' radio button available
     $this->assertTrue($this->isElementPresent("config__NamespaceType_site-name"));
     // 'Project' radio button available
     $this->assertTrue($this->isElementPresent("config__NamespaceType_generic"));
     // 'Project' radio button available
     $this->assertTrue($this->isElementPresent("config__NamespaceType_other"));
     // 'Same as the wiki name' label available
     $this->assertEquals("Same as the wiki name:", $this->getText(LINK_FORM . "div[2]/div[2]/ul/li[1]/label"));
     // 'Project' label available
     $this->assertEquals("Project", $this->getText(LINK_FORM . "div[2]/div[2]/ul/li[2]/label"));
     // 'Project' label available
     $this->assertEquals("Other (specify)", $this->getText(LINK_FORM . "div[2]/div[2]/ul/li[3]/label"));
     //  'Same as the wiki name' radio button selected by default
     $this->assertEquals("on", $this->getValue("config__NamespaceType_site-name"));
     // 'Administrator account' section available
     $this->assertTrue($this->isElementPresent(LINK_FORM . "fieldset"));
     // 'Administrator account' label available
     $this->assertEquals("Administrator account", $this->getText(LINK_FORM . "fieldset/legend"));
     // 'Your Name' label available
     $this->assertEquals("Your name:", $this->getText(LINK_FORM . "fieldset/div[1]/div[1]/label"));
     // 'Your Name' text box available
     $this->assertTrue($this->isElementPresent("config__AdminName"));
     // 'Password' label available
     $this->assertEquals("Password:"******"fieldset/div[2]/div[1]/label"));
     // 'Password' text box available
     $this->assertTrue($this->isElementPresent("config__AdminPassword"));
     // 'Password again' label available
     $this->assertEquals("Password again:", $this->getText(LINK_FORM . "fieldset/div[3]/div[1]/label"));
     // 'Password again' text box available
     $this->assertTrue($this->isElementPresent("config__AdminPassword2"));
     // 'Email address' label avaialble
     $this->assertEquals("E-mail address:", $this->getText(LINK_FORM . "fieldset/div[4]/div[1]/label"));
     // 'Email address' text box available
     $this->assertTrue($this->isElementPresent("config__AdminEmail"));
     // Message displayed
     $this->assertEquals("You are almost done! You can now skip the remaining configuration and install the wiki right now.", $this->getText(LINK_FORM . "/div[4]/div[2]/p"));
     // 'Ask me more questions.' radio button available
     $this->assertTrue($this->isElementPresent("config__SkipOptional_continue"));
     // 'Ask me more questions.' label available
     $this->assertEquals("Ask me more questions.", $this->getText(LINK_FORM . "div[5]/div[2]/ul/li[1]/label"));
     // 'I'm bored already, just install the wiki' radio button is avaiable
     $this->assertTrue($this->isElementPresent("config__SkipOptional_skip"));
     // 'I'm bored already, just install the wiki' label available
     $this->assertEquals("I'm bored already, just install the wiki.", $this->getText(LINK_FORM . "div[5]/div[2]/ul/li[2]/label"));
     //  'Ask me more questions.' radio button is default selected
     $this->assertEquals("on", $this->getValue("config__SkipOptional_continue"));
 }