[英]CasperJS + Authlogic (Rails) - maintain login session between tests
我有一個單頁應用程序,該應用程序具有Ruby on Rails后端,並使用Authlogic來促進用戶身份驗證。
我正在使用CasperJS進行功能測試,並且很難使登錄會話在會話之間以及thenOpen
命令之間thenOpen
。
我正在運行以下命令:
casperjs --cookies-file=cookies.txt test ../../../foobar/test/casper/login/test.js
這是我當前代碼的示例:
phantom.cookiesEnabled = true;
var x = require('casper').selectXPath
casper.test.begin('Logging in', 2, function suite(test) {
casper.start('http://localhost:3000/login', function() {
console.log("Page loaded");
test.assertExists('form', 'login form is found');
this.fillSelectors('form', {
'#email': "foo@bar.com",
'#password': "foo_bar"
}, false)
this.click('#submit')
casper.thenOpen('http://localhost:3000/my', function() {
test.assertUrlMatch(this.getCurrentUrl(), 'http://localhost:3000/my', "Logged in and maintained login cookie")
})
})
casper.run(function() {
test.done();
});
})
在查看開發日志時,我可以看到第一個測試( casper.start
)成功登錄,但是在thenOpen
,不再維護Authlogic UserSession
因此PhantomJS被重定向到localhost:3000/login
,如果發生該情況沒有登錄用戶。
我怎樣才能保持之間的登錄會話使用CasperJS thenOpen
也多次測試運行之間? 我可以維護cookie以便用戶在兩次測試之間保持登錄狀態嗎?
似乎此評論節省了一天
查看您具有
this.click
的代碼,然后執行casper.thenOpen
我將在表單提交后添加另一步,並使用casper.waitForXXXX
。看起來確實是時間問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.