我试图在量角器上设置一个全局变量,以在所有描述块中使用。
var glob = 'test';
describe('glob test', function () {
it('should set glob', function () {
browser.get('http://example.com/test');
browser.executeScript(function () {
window.glob = glob;
});
});
});
但这返回了以下错误:
Message:
[firefox #2] UnknownError: glob is not defined
我也看了这个问题:量角器angularJS全局变量
所以我试图以这种方式在conf.js中设置变量glob:
exports.config = {
...,
onPrepare: function () {
global.glob = 'test';
}
};
仍然有相同的错误。
如何在量角器测试中正确添加全局变量?
可以借助params
属性从量角器配置文件设置全局变量:
exports.config = {
// ...
params: {
glob: 'test'
}
// ...
};
您可以使用规范中访问它browser.params.glob
。
请参阅参考配置文件。
params对象将直接传递到Protractor实例,并且可以从您的测试中以browser.params进行访问。它是一个任意对象,可以包含测试中可能需要的任何内容。可以通过命令行将其更改为:
protractor conf.js --params.glob 'other test'
更新:
从文档中获取browser.executeScript
:
如果脚本作为函数对象提供,则该函数将转换为字符串以注入到目标窗口中。除脚本之外提供的所有参数都将作为脚本参数包含在内,并且可以使用arguments对象进行引用。
因此,在这种情况下,JavaScript作用域不起作用,传递给您的函数browser.executeScript
将不会有来自规范的闭包变量,例如browser
。但是您可以显式传递这些变量:
browser.executeScript(function (glob) {
// use passed variables on the page
console.log(glob);
}, browser.params.glob);
我使用的是swing,有一个函数(CreateAndShowGUI())可以监听上、左、右键的按下 现在,当我运行程序并按下任意键(向上、向左、向右、向下)时,我可以看到按下的键变量被设置为True。但当我试图在main中访问相同的内容时,按下的这个键的值为false。谁能帮我找出我错的地方吗?
问题内容: 我使用设置全局变量的代码无法正常工作。好像根本没有调用分配,但是没有脚本错误发生。 页面加载后,警报将显示我的期望值。它确认x =1。但是此后,我单击div并得到了一个未定义的JavaScript错误。如何正确添加此变量? 背景:上面的代码是我正在研究的项目中最少复制的示例,我们必须在AJAX响应期间执行javascript代码。大多数时候都能正常工作,但这会引起问题。 问题答案: E
This is a list of variables that are always implicitly assigned to the . This is handy for making global variables or server variables available to all templates without having to manually assign them
如果你要多于一个函数共用一个简单的变量,简单的处理方法就是把这个变量在所有函数中定义为global全局变量。在命令行做同样的事情,如果你要工作空间访问上述变量。这个全局变量的定义必须出现在变量被应用于一个函数之前。虽然不是要求,但全局变量也最好以大写字母开头,这样可以同其他变量区别出来。举个例子,做一个以falling.m命名的M-文件。 function h = falling(t) globa
ThinkCMF封装了前台模板开发时常用的一些变量,这些变量是全局的,你在前台模板任何时候都能直接调用: {$site_name} /站点名称 {$site_host} /站点域名 {$site_root} /安装目录 {$site_icp} /
swoole内置了几个全局变量供程序内使用。一般不要自行创建全局变量。 SwooleG 超全局本地内存变量,此变量在swoole_init时就初始化好了。存储了一些全局的信息。但不是共享内存的。当创建子进程后再修改其中的字段,其他进程是感知不到的 SwooleG.main_reactor,全局事件循环 SwooleG.lock,全局锁 SwooleG.memory_pool,全局共享内存池 Swo