gpt4 book ai didi

javascript - soda.js Selenium RC 2 如何重用浏览器 session

转载 作者:行者123 更新时间:2023-11-28 02:32:32 25 4
gpt4 key购买 nike

我使用 Soda.js、mocha 和 selenium RC。我正在尝试加快我的测试速度,我想到的一种方法是,我为每个测试启动一个新 session (即通过关闭/打开一个新浏览器并登录到一个站点来运行)。

我在各种论坛/留言板上看到了许多关于重用其他语言 session 的不完整帖子,但我的测试都是 Javascript。

有谁知道在开始测试后如何重用以前的浏览器/ session ,这样我就不必在每个测试中启动新 session 。

我的苏打水测试运行程序如下所示。

var soda = require('soda'),
util = require('util'),

//config object - values injected by TeamCity
config = {
host: process.env['SELENIUM_HOST'] || 'localhost',
port: process.env['SELENIUM_PORT'] || 4444,

url: process.env['SELENIUM_SITE'] || 'http://google.com',
browser: process.env['SELENIUM_BROWSER'] || 'firefox'
};

描述(“TEST_SITE”,函数(){

beforeEach(


function(done){
browser = soda.createOnPointClient(config);

// Log commands as they are fired
browser.on('command', function(cmd, args){
console.log(' \x1b[33m%s\x1b[0m: %s', cmd, args.join(', '));
});

//establish the session
browser.session(function(err){
done(err);
});

}

);



afterEach(function(done){

browser.testComplete(function(err) {
console.log('done');
if(err) throw err;
done();
});

});


describe("Areas",function(){
var tests = require('./areas');
for(var test in tests){
if(tests.hasOwnProperty(test)){
test = tests[test];
if(typeof( test ) == 'function')
test();
else if (util.isArray(test)) {
for(var i=0, l=test.length;i<l;i++){
if(typeof( test[i] ) == 'function')
test[i]();
}
}
}

}
});

});

最佳答案

我找到了答案。我真的需要更多地关注 Mocha ,因为我的答案是这样的:

    //before running the suite, create a connection to the Selenium server
before(
function(done){
browser = soda.createOnPointClient(config);

// Log commands as they are fired
browser.on('command', function(cmd, args){
console.log(' \x1b[33m%s\x1b[0m: %s', cmd, args.join(', '));
});

//establish the session
browser.session(function(err){
done(err);
});

}
);

//after each test has completed, send the browser back to the main page (hopefully cleaning our environment)
afterEach(function(done){browser.open('/',function(){
done();
});
});

//after the entire suite has completed, shut down the selenium connection
after(function(done){

browser.testComplete(function(err) {
console.log('done');
if(err) throw err;
done();
});

});

到目前为止的结果是,与启动新 session 相比,我没有看到通过重用 session 获得任何真正的性能提升。我的测试仍然花费大致相同的时间。

关于javascript - soda.js Selenium RC 2 如何重用浏览器 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com