Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver脚本中的UnreachableBrowserException_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Selenium webdriver脚本中的UnreachableBrowserException

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

这是我尝试运行脚本时显示的错误消息? 场景:我的一个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: '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();
 }
}