gpt4 book ai didi

javascript - 通过字符串引用变量

转载 作者:行者123 更新时间:2023-12-01 03:26:26 30 4
gpt4 key购买 nike

目标:通过将字符串评估为变量来迭代我的 conf.js 文件中的电子邮件。

我尝试过使用eval(string name)window[string name]this[string name]

我收到如下错误:

unexpected number;

each key must be a number of string; got undefined;

等等。使字符串像变量名一样运行的正确方法是什么?问题出在 for 循环中倒数第二行。非常感谢您的见解!

在我的 conf.js 文件中,我存储了如下所示的电子邮件地址:

// conf.js
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
params: {
login: {
username: '*********',
password: '*********.'
},
website: {
url: '*********',
},
testEmails: {
// First address
1: '*****@gmail.com',

// Second address
2: '*****@gmail.com',
}
}
}

spec.js

describe('Testing |', function() {

var initialLink = ('https://').concat(browser.params.website.url);

function loadPage(a) {
browser.get(a);
}

function login(a, b) {
element(by.model('login.userName')).clear().sendKeys(a);
element(by.model('login.password')).clear().sendKeys(b);
element(by.id('btnLogin')).click();
}

function send(a, b){
element(by.id('btnCompose')).click();
element(by.id('toCtrl_new')).sendKeys(a);
element(by.id('subjectCtrl')).sendKeys(b);

browser.driver.sleep(2000);
element(by.id('btnCancel')).click();
browser.waitForAngular();
}

it('should send emails', function() {
loadPage(initialLink);
login(browser.params.login.username, browser.params.login.password);
element.all(by.repeater('module in ui.forUser')).get(3).click();

for(var i = 1; i < 38; i++){
var prefix = "browser.params.testEmails.";
var complete = prefix.concat(i);
var toWhom = eval(complete);
send(toWhom, 'Testing');
}

});

});

最佳答案

您可以执行以下操作:

for (key in browser.params.testEmails) {
var toWhom = browser.params.testEmails[key];
send(toWhom, 'Testing');
}

关于javascript - 通过字符串引用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788722/

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