尝试为我的本地网址执行selenium firefox驱动程序时出现以下错误:
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
ession ID: 107f76f0-251f-4d62-9308-2968ed6e354f
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:127)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:93)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:42)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:322)
at Gmail_login.main(Gmail_login.java:14)
代码
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
public class Gmail_login {
public static void main(String[] args) {
// TODO Auto-generated method stub
// objects and variables instantiation
System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
String appUrl = "https://localhost/qwer";
// 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 = "Web Login Service";
//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("username"));
username.clear();
username.sendKeys("karthiktest@gmail.com");
// enter a valid password in the password textbox
WebElement password = driver.findElement(By.id("password"));
password.clear();
password.sendKeys("Welcome");
// click on the Sign in button
WebElement SignInButton = driver.findElement(By.name("_eventId_proceed"));
SignInButton.click();
// close the web browser
driver.close();
System.out.println("Test script executed successfully.");
// terminate the program
System.exit(0);
}
}
答案 0 :(得分:1)
如果无法访问url,则Firefox驱动程序会抛出此错误,例如,域名无法解析或服务器阻止连接。如果您在localhost上安装webserver并为此url提供一些内容,它将起作用。
您可以尝试将firefox切换为chrome,这不会为此方案抛出异常。您还可以围绕driver.get()
语句编写try-catch块。
答案 1 :(得分:0)
这是一条INFO消息,让人们可以看到正在发生的事情。 这不是一个错误,而是需要担心的事情。
使用selenium3.0.0和geckodriver
以上的版本时会出现此消息这不会停止脚本执行。