Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to include multiple tests in selenium
    text
    copied!<p>I am trying to create some test cases say there is a login page I already have the test case for that now once the user logs in I want to run couple of other tests using Selenium. Any ideas how can I do that? I looked at Selenium Grid but its just used for testing across multiple environments.</p> <p>Thanks!</p> <pre><code>package org.openqa.selenium.example; import org.openqa.selenium.WebDriver; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class LoginPage { private final WebDriver driver; public LoginPage(WebDriver driver) { this.driver = driver; // Check that we're on the right page. if (!"Outreach Configuration".equals(driver.getTitle())) { // Alternatively, we could navigate to the login page, perhaps logging out first throw new IllegalStateException("This is not the login page"); } } // The login page contains several HTML elements that will be represented as WebElements. // The locators for these elements should only be defined once. // By usernameLocator = By.name("username"); // By passwordLocator = By.name("password"); By loginButtonLocator = By.name("submit"); // The login page allows the user to type their username into the username field public LoginPage typeUsername(String username) { // This is the only place that "knows" how to enter a username driver.findElement(By.name("username")).sendKeys(username); // Return the current page object as this action doesn't navigate to a page represented by another PageObject return this; } // The login page allows the user to type their password into the password field public LoginPage typePassword(String password) { // This is the only place that "knows" how to enter a password //driver.findElement(passwordLocator).sendKeys(password); driver.findElement(By.name("password")).sendKeys(password); // Return the current page object as this action doesn't navigate to a page represented by another PageObject return this; } // The login page allows the user to submit the login form public HomePage submitLogin() { // This is the only place that submits the login form and expects the destination to be the home page. // A seperate method should be created for the instance of clicking login whilst expecting a login failure. driver.findElement(By.name("submit")).submit(); // Return a new page object representing the destination. Should the login page ever // go somewhere else (for example, a legal disclaimer) then changing the method signature // for this method will mean that all tests that rely on this behaviour won't compile. return new HomePage(driver); } // The login page allows the user to submit the login form knowing that an invalid username and / or password were entered public LoginPage submitLoginExpectingFailure() { // This is the only place that submits the login form and expects the destination to be the login page due to login failure. // driver.findElement(By.name("submit")).submit(); // Return a new page object representing the destination. Should the user ever be navigated to the home page after submiting a login with credentials // expected to fail login, the script will fail when it attempts to instantiate the LoginPage PageObject. return new LoginPage(driver); } // Conceptually, the login page offers the user the service of being able to "log into" // the application using a user name and password. public HomePage loginAs(String username, String password) { // The PageObject methods that enter username, password &amp; submit login have already defined and should not be repeated here. typeUsername(username); typePassword(password); return submitLogin(); } public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); // And now use this to visit Google driver.get(""); LoginPage login = new LoginPage(driver); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } HomePage a=login.loginAs("username","password"); System.out.println(a); //driver.findElement(By.className("newbutton")).click(); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload