私は現在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
インポートはクラス外に行ってはいけませんか?チュートリアルのようにあなたは次のとおりですか?また、異なるバージョンのSeleniumをターゲットにしているので、おそらくすべてが同じであると無作為に仮定することはできません。 –
セレン3は非常に新しいです。 (5日前にリリースされました)。徹底したチュートリアルがまだSelenium 3のために書かれていないと確信しています:) – sircapsalot
@DaveNewton私はそれらをクラスの外に置いても、すべての同じエラーが返されます。私は、スコープで後でそれらを参照するのを簡単にするために、クラスの外に定義/インポートしたいという印象を受けました。セレンにもその能力があるのかどうかはわかりません。 –