Search code examples
javaeclipseseleniumselenium-webdriverselenium3

Selenium tutorial troubles, How do I fix the MANY errors I'm recieving?


I'm currently taking the Selenium tutorial Here and I've followed every step exactly, but my Eclipse program keeps throwing errors. I am using Selenium 3 while this tutorial is for an older version. I can't find any comprehensive tutorials aside from this one. How do I fix the errors in the following code? I've commented the exact errors I get after each line. The code already contained some comments, so ignore any comment at the start of a line. Everything else should be error messages.

I also need to know how to use Eclipse to set my classpath, to allow it access to the GeckoDriver, which may or may not fix the issues.

public class Gmail_Login { //Syntax error on token(s), misplaced construct(s)
import org.openqa.selenium.By; //The import org.openqa.selenium.By cannot be resolved
import org.openqa.selenium.WebDriver; // The import org.openqa.selenium.WebDriver cannot be resolved
import org.openqa.selenium.WebElement;// The import org.openqa.selenium.WebElement cannot be resolved
import org.openqa.selenium.firefox.FirefoxDriver;// The import org.openqa.selenium.firefox. cannot be resolved

    /**

    * @param args

    */

           public static void main(String[] args) { //Multiple markers at this line -Syntax error,insert "enum Identifier" to complete EnumHeader   -Syntax error on tokens, AnnotationName expected instead   -Syntax error on token "}",invalid (    -Syntax error, insert")" to complete SingleMemberAnnotation    -Syntax error, insert "]" to complete ArrayAccess



    // objects and variables instantiation

                  WebDriver driver = new FirefoxDriver();//Multiple markers at this line   -FirefoxDriver cannot be resolved to a type   -WebDriver cannot be resolved to a type

                  String appUrl = "https://accounts.google.com";



    // launch the firefox browser and open the application url

                  driver.get(appUrl);



    // maximize the browser window

                  driver.manage().window().maximize();



    // declare and initialize the variable to store the expected title of the webpage.

                  String expectedTitle = " Sign in - Google Accounts ";



    // fetch the title of the web page and save it into a string variable

                  String actualTitle = driver.getTitle();



    // compare the expected title of the page with the actual title of the page and print the result

                  if (expectedTitle.equals(actualTitle))

                  {

                         System.out.println("Verification Successful - The correct title is displayed on the web page.");

                  }

                 else

                  {

                         System.out.println("Verification Failed - An incorrect title is displayed on the web page.");

                  }


    // enter a valid username in the email textbox

                  WebElement username = driver.findElement(By.id("Email"));//Multiple markers at this line   -WebElement cannot be resolved to a type

                  username.clear();

                  username.sendKeys("TestSelenium");


    // enter a valid password in the password textbox

                  WebElement password = driver.findElement(By.id("Passwd")); //Multiple markers at this line    -WebElement cannot be resolved to a type   -By cannot be resolved    -By cannot be resolved    


                  password.clear(); 
                  password.sendKeys("password123");



    // click on the Sign in button

                  WebElement SignInButton = driver.findElement(By.id("signIn")); //Multiple markers at this line   -WebElement cannot be resolved to a type     -By cannot be resolved 

                  SignInButton.click();


    // close the web browser

                  driver.close();

                  System.out.println("Test script executed successfully.");


    // terminate the program

                  System.exit(0);
           }






}//Syntax error on token "}", delete this token

Solution

  • I think all I did was move the imports outside of the class and deleted one } and the errors went away. I fixed the indents and removed all the error related comments. Try this...

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    public class Gmail_Login
    {
        public static void main(String[] args)
        {
            // objects and variables instantiation
            WebDriver driver = new FirefoxDriver();
            String appUrl = "https://accounts.google.com";
    
            // launch the firefox browser and open the application url
            driver.get(appUrl);
    
            // maximize the browser window
            driver.manage().window().maximize();
    
            // declare and initialize the variable to store the expected title of the webpage.
            String expectedTitle = " Sign in - Google Accounts ";
    
            // fetch the title of the web page and save it into a string variable
            String actualTitle = driver.getTitle();
    
            // compare the expected title of the page with the actual title of the page and print the result
            if (expectedTitle.equals(actualTitle))
            {
                System.out.println("Verification Successful - The correct title is displayed on the web page.");
            }
            else
            {
                System.out.println("Verification Failed - An incorrect title is displayed on the web page.");
            }
    
            // enter a valid username in the email textbox
            WebElement username = driver.findElement(By.id("Email"));
            username.clear();
            username.sendKeys("TestSelenium");
    
            // enter a valid password in the password textbox
            WebElement password = driver.findElement(By.id("Passwd"));
            password.clear();
            password.sendKeys("password123");
    
            // click on the Sign in button
            WebElement SignInButton = driver.findElement(By.id("signIn"));
            SignInButton.click();
    
            // close the web browser
            driver.close();
            System.out.println("Test script executed successfully.");
            // terminate the program
            System.exit(0);
        }
    }