我开始使用 Protractor,我尝试做的第一件事是使用 Mocha 和 Chai 而不是 Jasmine。虽然现在我不确定这是否是个好主意。
首先我需要让 Chai 可以从所有规范文件中访问,而不必每次都导入,我发现可以在 protractor.conf 文件中进行操作:
onPrepare: ->
global.chai = require 'chai'
chai.use require 'chai-string'
chai.use require 'chai-as-promised'
global.expect = chai.expect
现在在这样的规范中:
it "when clicked should sort ",->
headerColumns.get(0).click()
firstCellText = $$(".first-cell").getText()
secondCellText = $$(".second-cell").getText()
# this won't work
expect(firstCellText).eventually.be.above(secondCellText)
为了使它工作,我可以做:
# now this works
$$(".second-cell").getText().then (secondCellText)->
expect(firstCellText).eventually.be.above(secondCellText)
但这很丑,我不想一直把东西包在里面.then
。我在想应该有更好的方法(?)