我正在玩Coffeescript,尝试将JavaScript文件转换为Coffeescript。这是有效的JavaScript:
element(by.model('query.address')).sendKeys('947');
这是无效的Coffeescript:
element(by.model('query.address')).sendKeys('947')
Coffeescript无效? Coffeelint说"意外的BY"。
答案 0 :(得分:6)
CoffeeScript使用by
关键字让您在循环范围时使用特定步骤。
来自文档:
要在固定大小的块中逐步理解范围,请使用按,例如:
evens = (x for x in [0..10] by 2)
由于JavaScript没有使用by
,因此它有效。对于CoffeeScript,请尝试将by
重命名为其他内容。
在回应评论时,由于Protractor提供了自己的by
全局变量,因此一个想法是通过CoffeeScript的嵌入式JavaScript语法(由反向标记包围的代码)对其进行别名,然后继续使用CoffeeScript和整个代码中的别名。
您需要测试此类代码:
ptorBy = `by`
element(ptorBy.model('query.address')).sendKeys('947')
其中ptor
只是"量角器的简称。"这转换为以下JavaScript:
var ptorBy;
ptorBy = by;
element(ptorBy.model('query.address')).sendKeys('947');