复杂的CSS选择器,用于使用webdriverjs进行集成测试
Complex CSS selectors for integration testing using webdriverjs
我正在尝试使用以下技术堆栈编写一些集成测试:Selenium(JavaScript绑定),WebdriverJS,Mocha和Chai。
我基本上是在尝试遵循这篇文章,出于某种原因,它建议使用WebdriverJS
而不是"官方"SeleniumJS 绑定。
我想设置一个简单的脚本来导航到我们的主页,然后单击指向About
页面的链接。该网页如下所示:
<ul id="nav">
...
<li>
<a href="/about/">
<span>About</span>
</a>
</li>
...
</ul>
现在,我编写了以下代码来单击此链接:
client
.url(my_url)
.getTitle (err, title) ->
expect(err).to.be.null
.click 'a[href*="about"]', (err) ->
expect(err).to.be.null
不幸的是,最后一行总是抛出错误。我意识到我正在使用嵌套的 CSS 选择器,这可能很难解析。但是,当我尝试从浏览器中使用 jQuery
访问此元素时,我确实会得到具有完全相同行的对象。
关于在这种情况下可能出现什么问题的任何想法?
注意(个人):WebdriverJS
的文档非常差,.click()
函数基本上只有两行解释。
Webdriverjs 支持使用 xpath 选择一个元素,你可以使用它。我最初的印象是它比使用 jquery 样式的选择器更难,但最终结果并不那么寒酸。
对于上面的选择器,可以在 xpath 中重写它,如下所示:
//a/span[text()="About"]
请注意,上面的选择器实际上是在选择链接内的span
,而不是选择包含此范围的链接。我不太确定如何像您一样选择链接本身,但我认为 xpath 也支持类似的东西。对于您的测试,上面的选择器仍然可能有效...
相关文章:
- 如何检测用于WebGL的专用或集成显卡
- 在我的SPA应用程序中集成Facebook共享的问题
- vaadin:使用自定义布局集成angular js
- 你好,这是测试用例,我必须在函数中传递n个参数
- React ajax数据集成
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- IE中关于ZK和JavaScript集成的一些错误
- 如何将拼写检查集成到密文编辑器
- 将外部文件与AngularJs集成
- 如何将tesseract OCR与Cordova/Phonegap应用程序集成
- Cordova Facebook登录集成cordovaOauth
- 如何在Angular js中集成其他页面中的样式
- 性能与模块化:将JS集成到PHP或单独的custom.JS中
- 如何为以下角度函数编写单元测试用例
- Meteor集成测试,在velocity'她的镜子上有茉莉花
- Okta与JavaScript的集成
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- html画布中的等轴测立方体投影
- 将prettyPhoto集成到Wordpress主题中
- 复杂的CSS选择器,用于使用webdriverjs进行集成测试