AssertionError:被测试的对象必须是数组,映射,对象,集合,字符串或弱集,但给定的对象

时间:2018-07-02 18:27:10

标签: typescript protractor

我正在尝试在标签li下声明一个下拉值。这是我的代码:

await searchPage.enterSearch("/html/body/nw-search/nw-text-search/div/div/div/div/div[2]/input","Honda");
await  element.all(by.css("body > nw-search > nw-text-search > div > div > div > div > div.autocomplete-wrapper > ul > li:nth-child(1) > ul li")).then(async function(items) {
              expect(items.length).equals(5);
              await  expect(items[0].getText()).contain("honda: Civic");
            });

但是,在运行上述代码时,我遇到了以下错误。即使我传递字符串。我尝试了单引号和双引号。 :

  

AssertionError:被测试的对象必须是数组,映射,对象,   集合,字符串或弱集,但对象已给定

1 个答案:

答案 0 :(得分:1)

Items不是数组,而是ElementArrayFinder。使用count方法代替length