当前位置: 首页 > 面试题库 >

cssSelector和Xpath有什么区别,并且在跨浏览器测试的性能方面哪个更好?

万阳嘉
2023-03-14
问题内容

我正在多语言Web应用程序上使用Selenium WebDriver 2.25.0,主要测试页面内容(用于阿拉伯语,英语,俄语等不同语言)。

对于我的应用程序,根据性能最好并确保它应支持所有浏览器(即IE 7、8、9,FF,Chrome等)。

预先感谢您的宝贵建议。


问题答案:

CSS选择器的性能远胜过Xpath,并且在Selenium社区中有很好的记录。这是一些原因,

  • Xpath引擎在每个浏览器中都不同,因此使其不一致
  • IE没有本机的xpath引擎,因此硒会注入自己的xpath引擎以实现其API的兼容性。因此,我们失去了使用WebDriver固有的本机浏览器功能的优势。
  • Xpath趋于复杂,因此在我看来很难阅读

但是,在某些情况下,您需要使用xpath,例如,搜索父元素或通过其文本搜索元素(我不建议稍后使用)。

您可以在此处阅读Simon的博客。他还建议在Xpath上使用CSS。

如果要测试内容,请不要使用依赖于元素内容的选择器。这将是每个地区维护的噩梦。尝试与开发人员交谈,并使用他们用来对应用程序中的文本进行外部化的技术,例如字典或资源包等。这是我的博客,对其进行了详细说明。

编辑1

感谢@parishodak,下面的链接提供了证明CSS性能更好的数字。



 类似资料:
  • 对于我的应用程序,哪种性能更好&确保它应该支持所有浏览器(即IE7、8、9、FF、Chrome等)。 感谢您的宝贵建议。

  • 问题内容: 我对使用ajax或jquery感到困惑,所以我想知道区别是什么,例如性能和复杂性哪个更好。 问题答案: AJAX是一种从网页到服务器执行XMLHttpRequest(带外Http请求)并发送/检索要在网页上使用的数据的技术。AJAX代表异步Java语言和XML。它使用JavaScript构造XMLHttpRequest,通常在各种浏览器上使用不同的技术。 jQuery(网站)是一个Ja

  • 只需在Xpath中添加即可--它突出显示--各种页面元素----它表示什么? 下面是用于Gmail密码字段的XPaths。的意义是什么? >

  • 本文向大家介绍你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么?相关面试题,主要包含被问及你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 IE内核浏览器:360,傲游,搜狗,世界之窗,腾讯TT。 非IE内核浏览器:firefox opera safari chrome 。 IE浏览器的内核Trident、Mozilla的Gecko、Ch

  • 问题内容: 通过Firebug查找相对的XPath时: ---------如果我们一开始不使用点表示什么呢? 只需添加Xpath-它突出显示—各种页面元素----------这意味着什么? 以下是XPaths for Gmail密码字段。的意义是什么? 问题答案: 这些表达式都选择不同的节点集: .//*[@id=’Passwd’] “。” 在开始处表示当前处理 在当前节点处开始 。“ *”选择从

  • 本文向大家介绍xpath和dom有什么区别?相关面试题,主要包含被问及xpath和dom有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 xpath是一门在XML文档中查找信息的语言 DOM是文档对象类型。 ---W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。 W3C DOM 标准被分为 3 个不同的部分: 核心 DOM