jQuery 是否比 Selenium1 中 IE 8.0 的 CSS/Xpath 选择器更快?

软件测试 自动化测试 路径
2022-01-28 22:44:07

我计划在 IE 8.0 中运行我现有的 Selenium 1.x 测试。

在检查了几个博客并阅读了这篇文章后,我尝试使用 jQuery 定位器和这里提到的方法运行我的测试。我的测试使用了很多基于索引的选择器,比如 xpath= div[class='myclass][index]

在 jQuery 中,我尝试.myclass:eq(index)检索元素。但我发现 jQuery 在 IE 和 Firefox 中的这些操作比 XPath 慢得多。jQuery 中是否有更快的方法来选择第 n 个元素?

3个回答

没有 jQuery 不会更快。

与其他现代浏览器相比,IE 的 JavaScript 引擎非常慢。使用 jQuery 选择器意味着您正在使用 JavaScript 来查询 DOM,因此您会立即受到 IE 的 JavaScript 引擎的限制。IE 中的 XPath 支持也是通过 JavaScript 库(Google 的 wicked good xpath 库),所以 XPath 也会很慢。

IE 中最快的定位器策略是 CSS,因为它的原生支持,当然不同版本的 IE 对 CSS 的支持不同,因此不同版本的 IE 支持不同的 CSS 定位器。

以上所有使 IE 成为自动化的绝对乐趣... ;)

我们在项目中使用了以下三个不同的定位器

XPath 使用 Ajaxslt 库 XPath 使用 Javascript 库 jQuery Selector 测试是从 Tellurium 问题页面创建的,包括三组

包括问题搜索和问题数据访问在内的一系列测试流程与第一个类似,但在 UI 模块中没有组定位 从问题表中访问数据(限制大小为 20 行和 10 列)

http://code.google.com/p/aost/wiki/TelluriumjQuerySelector


如何在 robotframework-seleniumlibrary 中启用自定义 jQuery 选择器

Selenium Library 2.3 引入了注册和使用自定义位置策略来定位网站上的元素的能力。新策略必须由 selenium-server.jar 加载。本指南将解释如何启用基于 jQuery 的定位策略。

http://code.google.com/p/robotframework-seleniumlibrary/wiki/jQueryElementSelectors

很久以前我对 CSS、jQuery 和 XPath 做了一些分析,我觉得 jQuery 并没有提供比 CSS 和 XPath 更好的结果。并且 CSS 比 XPath 快一点。