2012-11-20 48 views
0
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 

这是当我试图运行脚本时显示的错误消息吗? 情景:我的一个java文件具有登录功能,第二个在登录后创建了一个新帐户 请注意。Selenium webdriver脚本中的UnreachableBrowserException

Login.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("[email protected]", "Pa$$word"); 
    } 
} 

在那里我试图点击我的销售队伍应用程序的机会标签上的第二个文件: CreatOpportunity.java这些线是在我的主要论点

LoginPage.login.loginAs("username", "password"); 

LoginPage.login.driver.findElement(By.id("Opportunity_Tab")).click(); 

运行我的第二个文件允许我启动我的应用程序,但没有检测到对话标签上的点击并引发上述错误

+0

只有在此脚本中出现此错误或任何脚本?如果对于每个脚本尝试重新启动您的所有浏览器实例 – vkrams

+0

我面临的所有错误消息:Foreg:LoginPage.login.loginAs(“user name”,“Password”); 。LoginPage.driver.findElement(By.id( “Opportunity_Tab”))点击();然后我得到相同的错误,这里loginPage帮助我登录到应用程序,第二行是导航到应用程序的机会部分。请告知 – user1834699

+0

您能否粘贴您的代码 – vkrams

回答

1

只需在登录后输入下面一行即可。

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("[email protected]", "Pa$$word"); 
     FileTwo.clickOpportunity(driver); 
    } 

} 

FileTwo传送

public class FileTwo 
{ 
public static void clickOpportunity(WebDriver driver) 
throws Exception 
{ 
     driver.findElement(By.id("Opportunity_Tab")).click(); 
} 
} 
+0

HI Santosh,我可以使用单个java文件中的脚本单击商机选项卡。我想从可重复使用的角度来看这里是CreateLogin(这是一个fil),然后点击Opportunity选项卡上的下一个函数/文件。所以当我试图在另一个java文件中调用login()时。我收到上述错误信息...请提醒 – user1834699

0

硒抛出这个错误。解决方法是使用close()方法而不是quit()

相关问题