How to loop chained calls elegantly in JavaScript/CoffeeScript?(如何在 JavaScript/CoffeeScript 中优雅地循环链接调用?)
问题描述
我正在使用 Soda 在 Node.js 中编写 Selenium 测试,我有一种情况,我必须按几次向下键.
目前的代码是这样的:
浏览器.链.setSpeed(200).会议().打开('/').click("id=save").focus(编辑).keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40').keyDown(编辑器,'\40')...
我怎么能把它弄干?
仅使用这样的循环不适用于此库:
var b = browser.chain()for (var i = 0; i <10; i++) {b.keyDown(编辑器,'\40')}
好主意?
我可以使用 Soda 中的异步 API,例如 async-lib 来帮助我,但是这不是我在这里要问的.它使其他一些事情变得丑陋.
在命令链的中间有一个方法叫做and
用来做复杂的事情:
浏览器.链.setSpeed(200).会议().打开('/').click("id=save").focus(编辑).and(函数(浏览器){for (var i = 0; i <10; i++) {browser.keyDown(编辑器,'\40')}})...
有关详细信息,请参阅自述文件:https://github.com/learnboost/sodap>
I'm using Soda to write Selenium tests in Node.js and I have a situation where I have to press the down key several times.
The code currently looks like this:
browser
.chain
.setSpeed(200)
.session()
.open('/')
.click("id=save")
.focus(editor)
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
.keyDown(editor, '\40')
...
How could I DRY this up?
Just using a loop like this does not work with this lib:
var b = browser.chain()
for (var i = 0; i < 10; i++) {
b.keyDown(editor, '\40')
}
Awesome ideas?
I could use the async API in Soda and for example async-lib to help me out, but that's not what I'm asking here. It makes some other things ugly.
There is a method called and
for doing complicated things in the middle of a command chain:
browser
.chain
.setSpeed(200)
.session()
.open('/')
.click("id=save")
.focus(editor)
.and(function (browser) {
for (var i = 0; i < 10; i++) {
browser.keyDown(editor, '\40')
}
})
...
See the README for more information: https://github.com/learnboost/soda
这篇关于如何在 JavaScript/CoffeeScript 中优雅地循环链接调用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 JavaScript/CoffeeScript 中优雅地循环链接调用?
基础教程推荐
- 动态更新多个选择框 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01