我正在尝试从json文件中读取数据,但是我遇到了一些麻烦。 如何从json文件中获取项目到单个项目?
我的json文件:
[
{
"UserName": "test@test.en",
"Password": "tests123"
}
]
我的方法:
element(by.name('username')).sendKeys(browser.params.UserName);
element(by.name('password')).sendKeys(browser.params.Password);
因此我得到了
Failed: each key must be a number of string; got undefined
答案 0 :(得分:4)
您传递的是一个对象数组,而不是一个对象,因此,您必须在变量中精确。
直接传递对象
{
"UserName": "test@test.en",
"Password": "tests123"
}
或者在数组中指定索引
element(by.name('username')).sendKeys(browser.params[0].UserName);
element(by.name('password')).sendKeys(browser.params[0].Password);
答案 1 :(得分:0)
我的测试也失败了json文件,然后我将数据文件转换为ts文件,如下所示
export const DataForSearch =
{
Login:
{
CorrectCreds: { username: 'test@test.en', password: 'tests123' }
}
};
然后在我的测试用例中使用它
import {DataForSearch } from "../DataLogin"
const using = require("jasmine-data-provider");
describe("Login Page", () => {
using(DataForSearch.Login, (data: any, alldesc: any) => {
it("Login", () => {
element(by.name('username')).sendKeys(data.username);
element(by.name('password')).sendKeys(data.password);
})
})
})
如果仍然遇到问题,可以尝试打字稿文件。如果遇到任何问题,请告诉我