很多时候,在Firefox上运行自动Selenium测试时,人们会遇到以下错误:
Selenium::WebDriver::Error::InvalidElementStateError: Cannot perform native interaction: Could not load native events component.`
有人可以帮助我从技术上理解:
在Windows上,默认情况下,Firefox驱动程序使用所谓的“本地事件”与元素进行交互。就是说,鼠标和键盘的交互是使用操作系统级别的机制模拟的,而不是使用更常见的,但潜在的有限且不太准确的JavaScript来模拟交互。对于Firefox,这需要加载从C
++源编译的特定于操作系统的二进制库(在Linux上是.so,在Windows上是.dll)。这些二进制库必须链接到特定版本的Gecko
SDK,这意味着它们只能由特定版本的Firefox加载和使用。
由于支持Firefox的每个版本都会极大地拖累驱动程序,因此WebDriver团队限制了Selenium版本将支持的版本数量。Firefox当前的支持策略是支持当前的Firefox版本,之前的Firefox版本,当前的Firefox扩展支持版本(ESR)和之前的ESR版本。请注意,所有版本都是在Selenium项目发布之日计算的。
由于新的Firefox版本包含新的SDK,因此Selenium项目必须编译新的本机事件组件以支持它,并使用这些组件发布新的Selenium版本。该项目试图将新版本尽可能地推向新的Firefox版本,但是由于这是一个全志愿者项目,并且由于Mozilla可以(并且确实可以!)将Gecko
SDK从一个版本更改为另一个版本,因此不会发出警告, Selenium更新有时会延迟。
还有两点:首先,Firefox驱动程序体系结构在这方面是唯一的,因此您不会在其他浏览器中看到这种行为。重要的是要注意,尽管其他浏览器确实需要更新的驱动程序才能处理更新的浏览器版本(请参阅chromedriver.exe)。其次,当Mozilla完成并发布FirefoxDriver2(也称为Marionette)时,此体系结构将完全改变。Marionette的发布时间表取决于Mozilla,因此您必须与他们联系以获取有关此信息。
问题内容: 测试浏览器:Chrome版本:52.0.2743.116这是一个简单的JavaScript,可以从本地打开图像文件,例如“ C:\ 002.jpg” 请给我任何合适的建议。 问题答案: 知道这有点老了,但是看到很多这样的问题… 我们在课堂上经常使用Chrome,这是处理本地文件的必备条件。 我们一直在使用的是“ Chrome浏览器的Web服务器”。启动它,选择希望使用的文件夹,然后转到
问题内容: 我目前正在阅读“最先实现HTML5编程”一书。我想在自己的机器上加载从Web服务器命名的文件的内容。我为此使用了wampserver。 在文件夹我把所有相关的,和文件,也文件。 我的JavaScript代码非常简单: 这什么也没做!键入链接:在我的浏览器中打开正确的文件,因此链接应该正确。即使使用本书随附的文件(带有我要制作的应用程序的最终版本),也不会加载任何内容。 使用警报语句进行
问题内容: 根据Same OriginPolicy,SOP不应应用于file://协议,但是为什么我的代码不起作用?我正在从本地系统运行此测试页面,并且与html页面位于同一目录中。如果我将URL更改为http://www.google.com/,它也无法正常工作。我不明白为什么,有人可以解释吗? 编辑: 控制台打印如下: XMLHttpRequest无法加载文件:/// C:/Users/yc/
我试图运行react-native run-android,结果出现了这个错误。
我使用npm下载了FontAwcle,然后使用grunts复制任务将css文件和字体复制到我的电子应用程序的root diretory中的正确文件夹中。 到目前为止还不错。一切都在它应该在的地方。 现在,当我在我的应用程序中引用FontAwgood时,图标不会加载。这些是我在控制台中遇到的错误: 无法解码下载的字体: file:///path/to/fonts/fontawesome-webfon
maven偶尔会抱怨,在构建另一个将特定依赖项作为依赖项的项目时,无法在本地存储库中找到在本地构建和打包的特定依赖项。我们得到如下错误: 未能在项目X上执行目标:无法解析项目X的依赖关系:未能在[存档存储库]中找到Y,已缓存在本地存储库中,在内部的更新间隔过去或强制更新之前,不会重新尝试解析-> 唯一可行的两件事是等待很长时间直到maven变得聪明起来,或者完全删除本地存储库。假定等待选项与前述更