如何在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(){
});
});
});
});
最佳答案
使用上面的示例,您可以像这样访问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!
关于node.js - 汽水存放在哪里,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17130139/