储存在苏打水中的货物

时间:2013-06-16 04:15:34

标签: node.js selenium-rc

如何在storedVars测试中获取selenium soda数组? 我希望storeEval将具有给定名称的变量放入数组storedVars。但storedVars未定义。或许我不知道我可以在什么范围内访问它。

var soda = require('soda')
    , assert = require('assert');
var browser = soda.createClient({
    host: 'localhost'
    , port: 4444
    , url: 'http://jquery.com'
    , browser: 'firefox'
});
browser.session(function(err){
    browser.open('/', function(err, body, res){
            browser.storeEval(" window.jQuery('.logo').height();", "height", function(err, body, res){
                // ---------------------------------------------------------------
                // how to get storedVars['height'] here?
                // ReferenceError: storedVars is not defined
                // ---------------------------------------------------------------
                console.log ("height: "+storedVars['height'] ); 
                if (err)
                {
                    throw err;
                }
                browser.testComplete(function(){

                });

            });
    });
});

1 个答案:

答案 0 :(得分:0)

使用上面的示例,您可以像这样访问storedVars:

var soda = require('soda')
    , assert = require('assert');
var browser = soda.createClient({
    host: 'localhost'
    , port: 4444
    , url: 'http://jquery.com'
    , browser: 'firefox'
});
browser.session(function(err){
    browser.open('/', function(err, body, res){
        browser.storeEval("window.jQuery('.logo').height();", "height", function(err, body, res){
            browser.getEval('${height}',function(err,val){
                if(err !== null) throw err
                console.log(val)
                browser.testComplete(function(){ });
            });
        });
    });
})

有一件事是确保在获得它们之前不要调用testComplete!