在官方W3c webdirver文档中,明确指出位置策略是:
State Keyword
CSS selector "css selector"
Link text selector "link text"
Partial link text selector "partial link text"
Tag name "tag name"
XPath selector "xpath"
Run Code Online (Sandbox Code Playgroud)
但是,Selenium的电线协议允许:
class name
css selector
id
name
link text
partial link text
tag name
xpath
Run Code Online (Sandbox Code Playgroud)
在理论中,Selenium的文档已经过时,"真实"的故事在新的规范文档中.然而...
我在最新的Chrome自己的Webdriver上运行了一些测试,我可以确认这一点,name并且class name两者都有效; 但是,它们不符合规格.
我记得在Chromium问题上阅读他们只会实现官方的Webdriver规范.
现在:我知道通用答案,其中"规格并不总是100%遵循"等.但是,我想知道的是:
javascript selenium google-chrome chromium chrome-web-driver
请帮助我理解为什么使用CSS选择器甚至是自动测试的选项.我一直在我的工作场所使用Ghost Inspector工具为我们的东西创建了大量的自动化测试.此工具为您提供了使用XPath的CSS选择器intead的选项.为什么?
XPath比CSS更耐用.任何给定UI上的CSS几乎每周都会在某些项目/功能上发生变化.这使得测试极其脆弱并且容易经常破裂.
是因为大多数新的测试编写者不想学习任何XPath并希望坚持基础知识吗?CSS选择器看起来比XPath语法更漂亮?请说服我.谢谢.