java.net.ConnectException:Windows 10上使用IEDriverServer和IE 11的Selenium 3.11.0无法连接到本地主机错误 [英] java.net.ConnectException: Failed to connect to localhost error with Selenium 3.11.0 with IEDriverServer and IE 11 on Windows 10

本文介绍了java.net.ConnectException:Windows 10上使用IEDriverServer和IE 11的Selenium 3.11.0无法连接到本地主机错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对硒非常陌生,因此尝试在笔记本电脑中设置硒.我无法从我的简单代码中调用IE.细节在下面给出.您能帮我了解问题出在哪里吗

I am very new to selenium and trying to set up selenium in my laptop to begin. I am unable to invoke IE from my simple code. The details are given below. Can you please help me to understand where the issue is

IE版本:IE 11 IE驱动程序:64位, 操作系统:Windows 10 64 bit, 硒版本:3.11

IE version: IE 11, IE Driver: 64-bit, OS: Windows 10 64 bit, Selenium version: 3.11

错误:

Started InternetExplorerDriver server (64-bit)
3.9.0.0
Listening on port 29313
Only local connections are allowed
Exception in thread "main" org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:29313
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:08.638Z'
System info: host: 'DESKTOP-B1D1PSJ', ip: '192.168.79.96', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: InternetExplorerDriver
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209)
	at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:223)
	at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:215)
	at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:152)
	at testing.Tryselenium.main(Tryselenium.java:31)
Caused by: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:29313
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:240)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:158)
	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:256)
	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134)
	at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
	at okhttp3.RealCall.execute(RealCall.java:77)
	at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:101)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
	... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.java:125)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:238)

代码:

mport java.util.Arrays;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Tryselenium {
	  public static void main(String[] args) { 
	    // TODO Auto-generated method stub

		  WebDriver web;
		  /*System.setProperty("webdriver.chrome.driver","C:\\Users\\Divakar\\Documents\\General\\Learnings\\Selenium\\Others\\Set Up files\\Browser Drivers\\" + "chromedriver_x32.exe");
		  ChromeOptions chromeOptions = new ChromeOptions();
			chromeOptions.setExperimentalOption("excludeSwitches",Arrays.asList("test-type"));
			web = new ChromeDriver(chromeOptions);
			web.manage().window().maximize();
			web.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS);*/
			
		  System.setProperty("webdriver.ie.driver","E:\\General\\Learnings\\Selenium\\Others\\Set Up files\\Browser Drivers\\" + "IEDriverServer.exe");
			DesiredCapabilities capab = DesiredCapabilities.internetExplorer();
	        capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
	        web = new InternetExplorerDriver();
	        web.manage().window().maximize();
	        web.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS);

		    /*FirefoxDriver web = new FirefoxDriver();			
	        web = new FirefoxDriver();	
	        web.manage().window().maximize();
	        web.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS);*/
	        
		web.get("http://www.icicibank.com/");
		web.findElement(By.xpath("/html/body/div[1]/div[1]/div[1]/div/a[1]")).click();
		web.findElement(By.xpath("/html/body/div[1]/div[1]/div[1]/div/div[3]/div/ul[1]/li[1]/a")).click();
	    web.findElement(By.xpath("/html/body/div[1]/div[2]/div[2]/div/div[1]/div/div[3]/a")).click();
	    web.findElement(By.name("AuthenticationFG.USER_PRINCIPAL")).sendKeys("507133118");
	    web.findElement(By.name("AuthenticationFG.ACCESS_CODE")).sendKeys("Soft2008");
	    web.findElement(By.name("Action.VALIDATE_CREDENTIALS")).click();
	    web.findElement(By.id("ContentLink1")).click();
	    

	    WebElement accttable =  web.findElement(By.xpath("/html/body/form/div/div[3]/div[1]/div[4]/div[2]/div/div/div[5]/div/div/div/div/div/div/div"));
		List<WebElement> all_rows =  accttable.findElements(By.tagName("tr"));
	    
		int j = 0;
		for (int i = 0; i < all_rows.size(); i++) {
	    	List<WebElement> rowAllCells = all_rows.get(i).findElements(By.tagName("td"));			
			if(rowAllCells.size()>1)
			{

				String acctno=rowAllCells.get(2).getText();
				if(rowAllCells.get(2).getText().trim().equalsIgnoreCase("602605049934"))
				{
					web.findElement(By.id("AccountSummaryFG.SELECTED_INDEX")).click(); ///html/body/form/div/div[3]/div[1]/div[4]/div[2]/div/div/div[5]/div/div/div/div/div/div/div/table/tbody/tr[4]/td[1]/input
					web.findElement(By.id("HREF_actNicNameOutput[" + j + "]")).click();
					web.findElement(By.id("backBtn")).click();
					web.findElement(By.id("VIEW_MINI_STATEMENT")).click();
					web.findElement(By.id("HREF_Logout")).click();
					web.close();
				}
				else 				j = j + 1;
			}
		}
	    
	    		
	    
	  }
	}

推荐答案

错误说明了一切:

3.9.0.0
Exception in thread "main" org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:29313
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:08.638Z'
System info: host: 'DESKTOP-B1D1PSJ', ip: '192.168.79.96', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: InternetExplorerDriver

从错误堆栈跟踪中可以明显看出,新的会话没有启动,并且 driver.version 也没有被识别.

It is clear from your error stack trace that the new session is not getting initiated and the driver.version is also not getting recognized.

您的主要问题是所使用的二进制文件之间的版本兼容性:

Your main issue is the version compatibility between the binaries you are using as follows :

  • 您正在使用 Selenium Client v3.11.0
  • 您正在使用 IEDriverServer v3.9.0.0
  • 您正在使用 InternetExplorer v11.0 (根据您的问题)
  • You are using Selenium Client v3.11.0
  • You are using IEDriverServer v3.9.0.0
  • You are using InternetExplorer v11.0 (as per your question)

因此 Selenium Client v3.11.0 IEDriverServer v3.9.0.0 之间存在明显的不匹配.

So there is a clear mismatch between the Selenium Client v3.11.0 , IEDriverServer v3.9.0.0.

  • IEDriverServer 升级到 v3.11.1 .
  • 通过 IDE
  • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项.
  • 使用 CCleaner 工具清除之前和之后的所有操作系统杂项在执行 test Suite 之后.
  • 如果您的基本 Web浏览器基本版本过旧,请通过 Revo Uninstaller 并安装最新的GA和 Web浏览器的发行版本.
  • 执行您的@Test.
  • Upgrade IEDriverServer to v3.11.1.
  • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
  • Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
  • If your base Web Browser base version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Browser.
  • Execute your @Test.
  • 您正在使用标志 INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true ,该标志与
  • You are using the flag INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true which is against the best practice. Don't do it.

这篇关于java.net.ConnectException:Windows 10上使用IEDriverServer和IE 11的Selenium 3.11.0无法连接到本地主机错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆