Selenium webdriver脚本中的UnreachableBrowserException
这是我尝试运行脚本时显示的错误消息? 场景:我的一个java文件具有登录功能,第二个文件在登录后创建了一个新帐户 请告知 Login.java:Selenium webdriver脚本中的UnreachableBrowserException,selenium,selenium-webdriver,webdriver,Selenium,Selenium Webdriver,Webdriver,这是我尝试运行脚本时显示的错误消息? 场景:我的一个java文件具有登录功能,第二个文件在登录后创建了一个新帐户 请告知 Login.java: org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died. Build info: version: '2.25.0', revision: '17482', time: '2
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_29'
Driver info: driver.version: RemoteWebDriver
我试图单击Sales force应用程序的Opportunity选项卡的第二个文件:
createOpportunity.java这些行在我的主要论点下
public class LoginPage
{
public static WebDriver driver;
public static final LoginPage login = new LoginPage(new FirefoxDriver());
public LoginPage(WebDriver driver)
{
LoginPage.driver = driver;
}
public static void loginAs(String username, String password)
{
DesiredCapabilities ieCapabilities = DesiredCapabilities.firefox();
ieCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl("http://www.config.barclays.co.uk:9000/");
driver.close();
ieCapabilities. setCapability(CapabilityType.PROXY, proxy);
FirefoxDriver driver = new FirefoxDriver(ieCapabilities);
driver.get("https://login.salesforce.com");
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
//Login to Salesforce Application
try
{
driver.findElement(By.id("username")).sendKeys(username);
driver.findElement(By.id("password")).sendKeys(password);
driver.findElement(By.id("Login")).click();
driver.manage().timeouts().implicitlyWait(75, TimeUnit.SECONDS);
}
catch(Exception e1)
{
System.out.println(e1 +"Your login attempt has failed. The username or password may be incorrect, or your location or login time may be restricted. Please contact the administrator at your company for help.");
}
}
public static void main(String[] args)
{
login.loginAs("me@example.com", "Pa$$word");
}
}
运行第二个文件可以启动我的应用程序,但不会检测到机会选项卡上的点击,并向我抛出上面提到的错误登录后,只需在下面一行尝试一下
LoginPage.login.loginAs("username", "password");
LoginPage.login.driver.findElement(By.id("Opportunity_Tab")).click();
试试下面的代码
driver.switchTo.defaultContent();
文件二
public class LoginPage {
public static WebDriver driver;
public LoginPage()
{
DesiredCapabilities ieCapabilities = DesiredCapabilities.firefox();
ieCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl("http://www.config.barclays.co.uk:9000/");
ieCapabilities. setCapability(CapabilityType.PROXY, proxy);
LoginPage.driver = new FirefoxDriver(ieCapabilities);
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
}
public static void loginAs(String username, String password) {
driver.get("https://login.salesforce.com");
//Login to Salesforce Application
try
{
driver.findElement(By.id("username")).sendKeys(username);
driver.findElement(By.id("password")).sendKeys(password);
driver.findElement(By.id("Login")).click();
driver.manage().timeouts().implicitlyWait(75, TimeUnit.SECONDS);
}
catch(Exception e1) {
System.out.println(e1 +"Your login attempt has failed. The username or password may be incorrect, or your location or login time may be restricted. Please contact the administrator at your company for help.");
}
}
public static void main(String[] args)
{
LoginPage login = new LoginPage();
login.loginAs("me@example.com", "Pa$$word");
FileTwo.clickOpportunity(driver);
}
}
如果调用quit()方法并再次尝试启动浏览器,Selenium将抛出此错误。解决方法是仅对此脚本使用close()方法而不是quit()您收到此错误还是任何脚本?如果每个脚本都尝试重新启动所有浏览器实例,我将面临以下所有脚本的错误消息:Foreg:LoginPage.login.loginAs(“用户名”、“密码”);LoginPage.driver.findElement(By.id(“Opportunity_选项卡”))。单击();然后我得到了同样的错误,这里loginPage帮助我登录到应用程序,第二行是导航到应用程序的Opportunity部分。请你粘贴你的代码好吗?我已经添加了确切的代码。敬请告知Hi Santosh,我可以使用单个java文件中的脚本单击Opportunity选项卡。从可重用性的角度来看,我在这里试图做的是CreateLogin(这是一个fil),然后下一个函数/文件是单击Opportunity选项卡。因此,当我试图调用另一个java文件中的login()时。我收到上面的错误消息。。。恳请告知
public class FileTwo
{
public static void clickOpportunity(WebDriver driver)
throws Exception
{
driver.findElement(By.id("Opportunity_Tab")).click();
}
}