[英]How can Javascript file fetch data from JSON file
我目前正在使用 Protractor 来测试某个网站,我想从 login-page-path.json 中获取其中一个值作为参数传递到 login.po.js
这是我的登录页面路径。json
{
"loginPagePath": {
"emailPath": "iEmail",
"passPath": "inputPassword",
"loginPath": "btnContinue"
}
}
这是我的 login.po.js
module.exports = {
inputEmail: (value) => {
var emailPath = element(by.id("iEmail"));
emailPath.sendKeys(value);
},
inputPassword: (value) => {
var passPath = element(by.id("inputPassword"));
passPath.sendKeys(value);
},
clickLoginButton: () => {
var submitPath = element(by.className("btnContinue"));
submitPath.click();
}
}
这是我的 login.spec.js
let specPage = require('../page_objects/login.po.js');
describe('hello secret', function() {
it('log in successfully', function() {
browser.ignoreSynchronization = true;
browser.get('https://hello.secret.net/login');
browser.manage().window().maximize();
browser.sleep(5000);
specPage.inputEmail('secret@gmail.com');
browser.sleep(5000);
specPage.inputPassword('secret');
browser.sleep(5000);
});
});
我希望我的 login.po.js 看起来像这样。 JSON 文件中的loginPagePath.emailPath 、 loginPagePath.passPath和loginPagePath.loginPath值将传递给那些 arguments
module.exports = {
inputEmail: (value) => {
var emailPath = element(by.id(loginPagePath.emailPath));
emailPath.sendKeys(value);
},
inputPassword: (value) => {
var passPath = element(by.id(loginPagePath.passPath));
passPath.sendKeys(value);
},
clickLoginButton: () => {
var submitPath = element(by.className(loginPagePath.loginPath));
submitPath.click();
}
}
let specPage = require('../page_objects/login.po');
足够了,不需要文件扩展名
假设 login-page-path.json 与 login.po.js 位于同一目录中(否则相应地更改路径):
let loginPagePath = require("./login-page-path.json").loginPagePath
module.exports = {
inputEmail: (value) => {
var emailPath = element(by.id(loginPagePath.emailPath));
emailPath.sendKeys(value);
},
inputPassword: (value) => {
var passPath = element(by.id(loginPagePath.passPath));
passPath.sendKeys(value);
},
clickLoginButton: () => {
var submitPath = element(by.className(loginPagePath.loginPath));
submitPath.click();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.