たとえば、いくつかのテストの前にユーザーのログインなど、しばしば実行する必要があるステップがあります。自分のCasperJSモジュールを書くには?
CasperJSのコードの再利用可能なチャンクを書く方法は? CasperJSを拡張するためのドキュメントは1つのファイルに対してのみ書かれています...
ありがとう!
たとえば、いくつかのテストの前にユーザーのログインなど、しばしば実行する必要があるステップがあります。自分のCasperJSモジュールを書くには?
CasperJSのコードの再利用可能なチャンクを書く方法は? CasperJSを拡張するためのドキュメントは1つのファイルに対してのみ書かれています...
ありがとう!
ここには簡単なアプローチがあります。 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
この問題(https://github.com/n1k0/casperjs/issues/348)は、あなたが経験している問題とかなりよく関連していると思います。 – hexid
casperjsはnodejsエコシステムの一部ではありません。 – shabunc