2015-08-31 81 views
1

我用test命令以及 --ssl-protocol=any--ignore-ssl-errors=true標誌運行我的大部分CasperJS測試。如何在測試環境中的測試中設置CasperJS頁面選項?

有沒有一種方法可以將這兩個標誌添加到測試自己,如果他們在測試環境中?我知道你可以設置頁面選項,如果你使用類似var casper = require('casper').create({的casper模塊,但那不是我的測試設置。

我也知道你可以做的東西一樣

casper.options.verbose = true; 
casper.options.logLevel = "debug"; 

...但casper.options.ignoreSslProtocol=true似乎並沒有工作。

,這裏是我的登錄測試的一部分 -

var config = require('../../config'), 
    x = require('casper').selectXPath; 

casper.test.comment('basic login test!'); 
casper.start(config.base_url); 
casper.test.begin('test basic login functionality', function (test) { 

    casper.then(function() { 
     this.click('.js-flip_box'); 
     test.info('logging in'); 
     this.fill('#login_form', { 
      'email': config.email, 
      'password': config.password 
     }, true); 
    }); 

    casper.then(function() { 
     test.assertVisible ('.home_bar', 'nav bar visible'); 
    }); 

    casper.run(function() { 
     test.done(); 
    }); 

}); 

...我與casperjs --ssl-protocol=any --ignore-ssl-errors=true test login.js(拗口)運行

我在劫難逃?

+0

你真的應該把'casper.start()'移到'casper.test.begin()'裏面,否則當你添加另一個'casper.test.begin()'時,你會遇到未定義的行爲。 –

回答

1

你不能,因爲PhantomJS沒有提供這樣的選項,但它應該很容易作爲拉取請求添加到代碼庫中。

如果您不想編輯源代碼並自行編譯它,那麼您可以使用下一個最好的東西,即--config=config.json選項,您可以在其中定義這些選項,而不是直接在命令行上定義它們。有關更多信息,請參閱herehere

例config.json:

{ 
    "ignoreSslErrors": true, 
    "sslProtocol": "any" 
} 

的選項的完整列表,請參閱here