Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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
Java 从Eclipse访问URL时获取org.apache.http.conn.HttpHostConnectException_Java_Eclipse_Apache_Selenium_Browserstack - Fatal编程技术网

Java 从Eclipse访问URL时获取org.apache.http.conn.HttpHostConnectException

Java 从Eclipse访问URL时获取org.apache.http.conn.HttpHostConnectException,java,eclipse,apache,selenium,browserstack,Java,Eclipse,Apache,Selenium,Browserstack,我们正在为一个项目使用BrowserStack 我们正在测试的门户是我们IP的白名单 我们用代理上网 运行以下代码段时: public class DemoClass { public static final String USERNAME = "<Username>"; public static final String AUTOMATE_KEY = "<Key>"; public static final String URL = "https://" + US

我们正在为一个项目使用BrowserStack

我们正在测试的门户是我们IP的白名单

我们用代理上网

运行以下代码段时:

public class DemoClass {

public static final String USERNAME = "<Username>";
public static final String AUTOMATE_KEY = "<Key>";
public static final String URL = "https://" + USERNAME + ":" + AUTOMATE_KEY 
+ "@hub-cloud.browserstack.com/wd/hub";

public static void main(String[] args) throws Exception {
 String baseUrl;
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("browser", "IE");
caps.setCapability("browser_version", "7.0");
caps.setCapability("os", "Windows");
caps.setCapability("os_version", "XP");
caps.setCapability("browserstack.debug", "true");
caps.setCapability("browserstack.local", "true");
System.getProperties().put("http.proxyHost", "<Proxy URL>");
System.getProperties().put("http.proxyPort", "<Proxy Port>");
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
....
公共类DemoClass{
公共静态最终字符串USERNAME=“”;
public static final String_KEY=“”;
公共静态最终字符串URL=“https://”+USERNAME+:“+automation\u KEY
+“@hub cloud.browserstack.com/wd/hub”;
公共静态void main(字符串[]args)引发异常{
字符串baseUrl;
DesiredCapabilities=新DesiredCapabilities();
caps.setCapability(“浏览器”、“IE”);
caps.setCapability(“浏览器版本”、“7.0”);
caps.setCapability(“os”、“Windows”);
caps.setCapability(“os_版本”、“XP”);
setCapability(“browserstack.debug”、“true”);
caps.setCapability(“browserstack.local”、“true”);
System.getProperties().put(“http.proxyHost”,”);
System.getProperties().put(“http.proxyPort”,”);
WebDriver-driver=新的RemoteWebDriver(新的URL,大写);
....
我们得到以下错误信息:

Exception in thread "main" 
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a 
new session. Possible causes are invalid address of the remote server or 
browser start-up failure.
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: '<HOSTNAME>', ip: '<HOST IP>', os.name: 'Windows 
7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_131'
Driver info: driver.version: RemoteWebDriver
at 
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:658)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:174)
at demopackage.DemoClass.main(DemoClass.java:31)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to hub-
cloud.browserstack.com:443 [hub-cloud.browserstack.com/5.255.92.202] failed: 
Connection refused: connect
.........
线程“main”中出现异常 org.openqa.selenium.remote.UnreachableBrowserException:无法启动 新会话。可能的原因是远程服务器的地址无效或 浏览器启动失败。 生成信息:版本:“3.4.0”,版本:“未知”,时间:“未知” 系统信息:主机:“”,ip:“”,操作系统名称:'Windows 7',os.arch:'x86',os.version:'6.1',java.version:'1.8.0131' 驱动程序信息:Driver.version:RemoteWebDriver 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:658) 位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) 位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236) 位于org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java:137) 位于org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java:174) 在demopackage.DemoClass.main(DemoClass.java:31)处 原因:org.apache.http.conn.HttpHostConnectException:连接到集线器- cloud.browserstack.com:443[hub cloud.browserstack.com/5.255.92.202]失败: 连接被拒绝:连接 .........
如何解决此问题?

以下是您问题的答案:

我在您的代码块中找不到任何重大问题。但以下是您需要注意的几点:

  • 当您执行
    WebDriver-driver=new-RemoteWebDriver(新URL,caps);
    时,请记住
    导入java.net.URL;
  • 我观察到您处理BASIC异常作为“代码>公共静态空隙main(String)[ARG]抛出异常< /代码>而不是您可以考虑精确地通过<代码>公共静态空隙main(String [] ARGs)抛出MalFrimurURLExabor
  • 您提到了
    我们正在为项目使用BrowserStack
    ,但您没有提到您是在使用
    BrowserStack自动化
    还是
    BrowserStack运行本地测试
  • 假设您使用的是
    BrowserStack Automation
    ,则需要从代码中删除
    caps.setCapability(“BrowserStack.local”、“true”);
  • 如果您正在使用运行本地测试的
    BrowserStack
    ,则需要在代码中提到
    caps.setCapability(“BrowserStack.local”,“true”);
  • 假设您使用的是
    BrowserStack Automation
    ,下面是您自己的代码块以及一些在“BrowserStack Automation”上成功执行的简单调整:

    SeleniumGrid包装;
    导入org.openqa.selenium.WebDriver;
    导入org.openqa.selenium.remote.DesiredCapabilities;
    导入org.openqa.selenium.remote.RemoteWebDriver;
    导入java.net.MalformedURLException;
    导入java.net.URL;
    公共类Q44196893_IE_浏览器堆栈{
    公共静态最终字符串USERNAME=“”;
    public static final String_KEY=“”;
    公共静态最终字符串URL=“https://”+USERNAME+:“+automation_KEY+”@hub cloud.browserstack.com/wd/hub”;
    publicstaticvoidmain(字符串[]args)引发畸形的DurLexException{
    字符串baseUrl;
    DesiredCapabilities=新DesiredCapabilities();
    caps.setCapability(“浏览器”、“IE”);
    caps.setCapability(“浏览器版本”、“7.0”);
    caps.setCapability(“os”、“Windows”);
    caps.setCapability(“os_版本”、“XP”);
    setCapability(“browserstack.debug”、“true”);
    System.getProperties().put(“http.proxyHost”,”);
    System.getProperties().put(“http.proxyPort”,”);
    WebDriver-driver=新的RemoteWebDriver(新的URL,大写);
    驱动程序。获取(“http://google.com/");
    System.out.println(“标题是:“+driver.getTitle());
    driver.quit();
    }
    }
    

  • <>请让我知道你的问题。< /P> < p>在系统变量下在代码> > javaAyOpths>代码中设置你的代理,它将开始工作。我遇到了同样的问题,它通过为HTTP和HTTPS提供代理来解决代码< > JavaAyOpths>代码>。看起来您提到的代理详细信息没有帮助。我注意到您已将中心URL指定为HTTPS。您是否尝试切换到HTTP并检查其是否有效?最后,您还可以尝试对中心URL执行如下卷曲:cURL-x:-L。尝试HTTP和HTTPS。这将有助于确认您是否能够连接到BrowserStack的Selenium中心。
    package SeleniumGrid;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.remote.RemoteWebDriver;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class Q44196893_IE_BrowserStack {
    
    public static final String USERNAME = "<Username>";
    public static final String AUTOMATE_KEY = "<Key>";
    public static final String URL = "https://" + USERNAME + ":" + AUTOMATE_KEY + "@hub-cloud.browserstack.com/wd/hub";
    
    
    public static void main(String[] args) throws MalformedURLException {
    
    
         String baseUrl;
         DesiredCapabilities caps = new DesiredCapabilities();
         caps.setCapability("browser", "IE");
         caps.setCapability("browser_version", "7.0");
         caps.setCapability("os", "Windows");
         caps.setCapability("os_version", "XP");
         caps.setCapability("browserstack.debug", "true");
         System.getProperties().put("http.proxyHost", "<Proxy URL>");
         System.getProperties().put("http.proxyPort", "<Proxy Port>");
         WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
         driver.get("http://google.com/");
         System.out.println("Title is : "+driver.getTitle());
         driver.quit();
    
    }
    
    }