2012-11-20 3 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(); 

두 번째 파일을 실행하면 응용 프로그램을 시작할 수 있지만 Opprtunity 탭의 클릭을 감지하지 못하고 위에 언급 한 오류가 발생합니다.

+0

이 스크립트에 대해서만이 오류가 발생합니까? 모든 스크립트에 대해 모든 브라우저 인스턴스를 다시 시작하려고하면 – vkrams

+0

Foreg : LoginPage.login.loginAs ("user name", "Password"); LoginPage.driver.findElement (By.id ("Opportunity_Tab")). click(); 그런 다음 동일한 오류가 발생합니다. 여기에서 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

안녕 Santosh, 나는 나의 단일 자바 파일에있는 스크립트를 사용하여 기회 탭을 클릭 할 수 있습니다. reusablity 관점에서 여기에서 무엇을하려고하는지는 CreateLogin (하나의 파일)이고 다음 함수/파일은 기회 탭을 클릭합니다. 그래서 다른 Java 파일에서 login()을 호출하려고 할 때. 위의 오류 메시지가 나타납니다 ... 친절하게 조언 – user1834699

0

셀레늄이 오류가 발생합니다. 해결 방법은 quit() 대신 close() 메서드를 사용하는 것입니다.