2016-10-18 9 views
-3

私は現在SeleniumチュートリアルHereを使用していますが、すべてのステップを正確に実行していますが、私のEclipseプログラムはエラーをスローし続けます。このチュートリアルは古いバージョン用ですが、私はSelenium 3を使用しています。私はこれ以外の包括的なチュートリアルを見つけることができません。次のコードでエラーを修正するにはどうすればよいですか?私は、各行の後に得られる正確なエラーをコメントしました。コードにはすでにいくつかのコメントが含まれていたので、行頭のコメントは無視してください。他のすべてはエラーメッセージでなければなりません。セレンチュートリアルのトラブルシューティング、私は受信している多くのエラーをどのように修正しますか?

Eclipseを使ってクラスパスを設定し、GeckoDriverにアクセスできるようにする方法も知っておく必要があります。

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 
+1

インポートはクラス外に行ってはいけませんか?チュートリアルのようにあなたは次のとおりですか?また、異なるバージョンのSeleniumをターゲットにしているので、おそらくすべてが同じであると無作為に仮定することはできません。 –

+0

セレン3は非常に新しいです。 (5日前にリリースされました)。徹底したチュートリアルがまだSelenium 3のために書かれていないと確信しています:) – sircapsalot

+0

@DaveNewton私はそれらをクラスの外に置いても、すべての同じエラーが返されます。私は、スコープで後でそれらを参照するのを簡単にするために、クラスの外に定義/インポートしたいという印象を受けました。セレンにもその能力があるのか​​どうかはわかりません。 –

答えて

0

私は私がしたすべては、クラスの外で輸入を移動し、1 }を削除し、エラーが離れていったと思います。インデントを修正し、すべてのエラー関連のコメントを削除しました。試してみてください...

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); 
    } 
} 
+0

これを私のクライアントにコピーして貼り付け、パッケージとクラスの名前をそれぞれ変更しました。引数が文字列に適用されないことを示す.sendKeys()のエラーをスローします。 –

+0

[このページ](http://stackoverflow.com/questions/23485363/the-method-sendkeyscharsequence-in-the-type-webelement-is-not-applicable-for)をご覧ください。本当に古いバージョンのJava?最新のJREとSeleniumのバージョンがインストールされていることを確認してください。 – JeffC

+0

私のライブラリは最新だったので、コンパイラのコンプライアンスを1.7に設定するだけでした。 –

関連する問題