簡體   English   中英

CasperJS + Authlogic(Rails)-維護測試之間的登錄會話

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM