Как написать собственные модули CasperJS?
Например, у меня есть шаг, который часто нужно выполнить, например, войти в систему пользователя перед некоторым тестом.
Как написать многоразовые куски кода для CasperJS? Их документация для расширения CasperJS написана только для одного файла...
Спасибо!
1 ответ:
Вот простой подход. Если вы не знакомы с coffeescript, преобразуйте его в JS в js2coffee.
Тесты / Каспер / тест.классная страница.кофе
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()
Тесты / Каспер / тест.авторизоваться.кофе
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