9

例如,我有一个经常需要执行的步骤,例如在一些测试之前用户登录。

如何为 CasperJS 编写可重用的代码块?他们扩展 CasperJS 的文档仅针对一个文件编写...

谢谢!

4

1 回答 1

8

这是一个简单的方法。如果不熟悉coffeescript,请在​​js2coffee 将其转换为JS。

测试/casper/test.coolPage.coffee

loginModule = require("./test.login")
loginModule.login("test","testPW")

casper.test.comment "Testing cool stuff, should be logged in by now"

casper.thenOpen casper.cli.get("url") + "/myCoolPage", ->
  @test.assertExists '#myCoolDiv'

casper.then () ->
  @test.assertExists '.somethingElse'

casper.run ->
  @test.done()

测试/casper/test.login.coffee

exports.login = (username, password) ->
  casper.test.comment "Loggin in with username \"#{username}\", password \"#{password}\""

  casper.start casper.cli.get("url") + "/login", ->
    @test.assertExists "input[name=username]", "input[name=password]"

  casper.then () ->
    @sendKeys "input[name=username]", username
    @sendKeys "input[name=password]", password
    @click "input[type=submit]"

  casper.then () ->
    #assert you got logged in

从命令行运行:

cd tests/casper    
casperjs test test.coolPage.coffee --url=http..my-test-url
于 2013-05-22T14:43:07.983 回答