9
例如,我有一个经常需要执行的步骤,例如用户在进行一些测试之前登录。如何编写自己的CasperJS模块?
如何为CasperJS编写可重用的代码块?他们的扩展CasperJS的文档只写入一个文件...
谢谢!
例如,我有一个经常需要执行的步骤,例如用户在进行一些测试之前登录。如何编写自己的CasperJS模块?
如何为CasperJS编写可重用的代码块?他们的扩展CasperJS的文档只写入一个文件...
谢谢!
这是一个简单的方法。如果不熟悉coffeescript,请将其转换为js2coffee上的JS。
测试/卡斯帕/ 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()
测试/卡斯帕/ 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
我们做得几乎一样。也可以在没有导出的情况下执行该操作,并直接向casper实例添加方法:'casper.login'。 – ValeriiVasin 2013-05-27 08:35:15
我相信这个[问题](https://github.com/n1k0/casperjs/issues/348)与您遇到的问题很好地相关。 – hexid 2013-02-28 17:15:58
casperjs不是nodejs生态系统的一部分。 – shabunc 2015-12-08 22:28:03