每个键必须是多个字符串;有未定义的量角器 [英] Each key must be a number of string; got undefined protractor

查看:93
本文介绍了每个键必须是多个字符串;有未定义的量角器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从json文件中读取数据,但是我遇到了一些麻烦。
如何从json文件中获取项目到单个项目?



我的json文件:

  [
{
UserName:test@test.en,
密码:tests123
}
$

我的方法:



<$ p 。$ p> 元件(by.name( '用户名'))的SendKeys(browser.params.UserName);
元素(by.name('password'))。sendKeys(browser.params.Password);

因此我得到

 失败:每个键必须是一个字符串数;未定义


解决方案

您正在传递一个对象数组而不是因此,你必须在变量中精确。



直接传递一个对象

  {
UserName:test@test.en,
密码:tests123
}

或指定数组中的索引

 元件(by.name( '用户名'))的SendKeys(browser.params [0] .UserName)。 
元素(by.name('password'))。sendKeys(browser.params [0] .Password);


I am trying to read data from json file but I have some trouble. How can I get items from a json file to individual items?

My json file:

[
 {
  "UserName": "test@test.en",
  "Password": "tests123"
 }
]

My method:

element(by.name('username')).sendKeys(browser.params.UserName);
element(by.name('password')).sendKeys(browser.params.Password);

as a result i get

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

解决方案

You are passing an array of object and not an object, thus, you have to be precise in your variable.

Either directly pass an object

{
  "UserName": "test@test.en",
  "Password": "tests123"
}

Or specify the index in the array

element(by.name('username')).sendKeys(browser.params[0].UserName);
element(by.name('password')).sendKeys(browser.params[0].Password);

这篇关于每个键必须是多个字符串;有未定义的量角器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆