问题描述
在某些情况下,我尝试创建一个使用Math.random().toString(36).slice(2);
或类似方法设置的全局变量,但是每当再次引用该变量时,它不会生成新的随机字符串,而是返回已经生成的随机字符串。
但是在parallel.conf.js中,然后在Runner.js中,我有两个不同的字符串。
我尝试了以下逻辑:如果localIdentifier
是undefined
会生成一个随机字符串,如果没有,则通过引用已插入的字符串返回已经生成的字符串。
我添加了与夜视仪+浏览器堆栈相关的设置,但并不认为这很重要。 如果不清楚,请告诉我,我可以提供更多背景信息。
parallel.conf.js
let localIdentifier;
let defineLocalIdentifier = (function(){
if (localIdentifier === 'undefined') {
localIdentifier = nightwatch_config.common_capabilities["browserstack.localIdentifier"];
return localIdentifier;
} else {
localIdentifier = Math.random().toString(36).slice(2);
return localIdentifier;
}
})();
nightwatch_config = {
common_capabilities: {
'browserstack.user': <user>,'browserstack.key': <key>,'browserstack.tunnel': true,'browserstack.localIdentifier': defineLocalIdentifier,'browserstack.local': true,'name': 'Bstack-[Nightwatch] Parallel Test',acceptInsecureCerts: true,javascriptEnabled: true,acceptSslCerts: true,}
module.exports = nightwatch_config;
module.exports.bs = {
localIdentifier : defineLocalIdentifier
}
runner.js
const nightwatchConfig = require('./parallel.conf').bs.localIdentifier;
function browserstack () {
const browserstackArgs = {
key: apiKey,'force': 'true','forceLocal': 'true','verbose': 'true','localIdentifier': nightwatchConfig
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)