Java 安卓网络驱动程序。XMLHttpRequest无法加载';URL';。原产地';URL';访问控制允许原点不允许。空时:1
我正在使用SeleniumWebDriver和Java在Nexus10(Adndroid4.2)上运行自动化测试。我面临的错误是:Java 安卓网络驱动程序。XMLHttpRequest无法加载';URL';。原产地';URL';访问控制允许原点不允许。空时:1,java,android,json,webdriver,Java,Android,Json,Webdriver,我正在使用SeleniumWebDriver和Java在Nexus10(Adndroid4.2)上运行自动化测试。我面临的错误是: XMLHttpRequest cannot load 'URL1'. Origin 'URL2' is not allowed by Access- Control-Allow-Origin. at null:1 URL1——基于json的后端 URL2-前端 FireFox、Chrome、IE 10不会出现此错误。但Android上的WebDriver总是会
XMLHttpRequest cannot load 'URL1'. Origin 'URL2' is not allowed by Access- Control-Allow-Origin. at null:1
- URL1——基于json的后端李>
- URL2-前端
if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
<> P> >基本上,这是发生在
Access-Control-Allow-Origin
Access-Control-Allow-Methods
Access-Control-Allow-Headers
非常“开放”的配置是:
"Access-Control-Allow-Origin=*
"Access-Control-Allow-Methods=GET, POST, PUT, DELETE, OPTIONS
"Access-Control-Allow-Headers=Content-Type, Authorization
在我的例子中,这就是web套接字的问题。该应用程序基于web套接字。关键是,在android 4.4和Selenium完全使用本机android浏览器执行测试之前,本机android浏览器不支持套接字
我已经用Android 4.4在emulator上测试过了,一切正常。谢谢大家的帮助。发生此错误时,能否显示正在运行的代码?启动浏览器了吗?代码运行正常。浏览器启动,webdriver工作(填写必填字段,然后按“登录”按钮)。这是CORS或JSONP的一些问题。我正在寻找AndroidWebDriver的高级设置,它可以帮助我解决这个问题。我用
WebDriver=newandroiddriver(“http://localhost:8080/wd/hub");代码>此错误在驱动程序之后立即开始出现。获取(“http://someurl.com");代码>和每2秒发生一次,然后停止。在WebElement loginButton=driver.findElement(By.id(“login”))之后代码>loginButton.submit()代码>它再次出现。似乎是因为来自后端的响应,并且只有在凭据正确的情况下。如果凭据不正确-一切正常-将显示相应的警报。不清楚为什么仅在android webdriver中发生此错误。FireFoxDriver、ChromeDriver甚至iPhoneDriver都可以正常工作……您是否尝试使用不同的域加载url?我不知道您想做什么,但是错误消息让我想到了我使用Java6U43的同一来源策略。我需要更新它吗?因为现在Build
变量未定义。@Evgeniy,无需更新JAVA。构建源于导入android.os.Build代码>和版本代码来自导入android.os.Build.VERSION\u代码代码>谢谢。“webView”在哪里定义?webView是您当前用于显示在线内容的webView。如何初始化“webView”?我正在使用Web驱动程序处理浏览器。我从未使用过WebView。