如何從onPrepare()中的conf傳遞全局變量。以便它可以用於不同的規格。從量角器中的onPrepare()中傳遞全局變量
Inside onPrepare(),因爲我從函數中獲取值,我在onPrepare()中調用。所以想要把這個價值看作全球性的。以便它可以在所有規格中使用。
如何從onPrepare()中的conf傳遞全局變量。以便它可以用於不同的規格。從量角器中的onPrepare()中傳遞全局變量
Inside onPrepare(),因爲我從函數中獲取值,我在onPrepare()中調用。所以想要把這個價值看作全球性的。以便它可以在所有規格中使用。
可以在onPrepare功能使用或設置browser.params對象:
onPrepare: function() {
browser.params.YOUR_PARAM = 'VALUE';
}
使用符合規格:
it('should...', function() {
expect(browser.params.YOUR_PARAM).toEqual('VALUE');
});
這裏是我是如何做到全局 - 我使用多個瀏覽器在測試中,所以我需要一些快捷方式來訪問這兩個瀏覽器很容易:
onPrepare: function() {
// Making manager and user globals - they will be accessible in all tests.
global.manager = browser;
global.user = browser.forkNewDriverInstance();
...
//Making Expected Conditions global since it used widely.
global.EC = protractor.ExpectedConditions;
然後,它將被訪問到處只是由ca lling
manager.$('blabla').click();
user.$('blabla').click();
user.wait(EC.visiblityOf($('foo')), 5000, 'foo should be visible');
希望這有助於!
它應該 - 我用最長的時間使用最新的3.3.0量角器和帶量角器的茉莉花。你能提供你的例子嗎? – Xotabu4
我已經張貼在小膠質的回答,您可以檢查出基本上你應該使用「全球」
helper.js - >常用函數/方法要執行
module.exports = {
foo: 'bar',
doSomething: function() {
var sum = 1+1;
return sum;
}
};
配置.js文件
var helper = require('./helper.js’);
onPrepare: function() {
global.output = helper.doSomething();
},
spec.js
describe(‘global variable test’, function() {
it(’should print global variable’, function() {
console.log(output);
});
});
謝謝,是的,它工作正常.. – saurabh04
當你在配置文件中設置shardTestFiles參數爲true時它會工作嗎? 當我將它設置爲true時,我遇到了全局值問題。當錯誤時工作。
它不適用於browser.params <變量名稱> – saurabh04