2015-02-11 78 views
0

我对量角器和茉莉花有点新,并且我试图检查使用getText()提取的元素列表是否包含特定元素:如何将量角器中的承诺转换为字符串

考虑以下因素

var productNameElements = element.all(by.css('.table-row')).getText(); 
    elementToBeSearched = element(by.css('.table-row .table-row-child(1)')).getText(); 

现在因为这两个变量上面会返回一个承诺,所以这样做:

​​

会失败,而且它会失败。

因此,我认为将elementToBeSearched转换为字符串将是有益的,并且会使我的生活更轻松。请提出解决方案,我如何将getText()承诺转换为字符串。谢谢

回答

3

可以说元素是ele。所以你应该解决承诺的方式是 -

ele.getText().then(function(str){ 
expect(someOtherElement.getText()).toBe(str); 
}) 

然后.then解决了你的承诺。在与expect比较之前,您可以通过将​​确认为字符串。 PS:在期望括号内的承诺自动解决。

+0

太棒了。有帮助 – 2015-02-12 08:50:53

0

我所做的大多是类似的:

productNameElements = element.all(by.css() '表行。')的getText(),然后(函数(名称){ 预期(productNameElements)。 .to.eventually.contain(name); });

这似乎已经对我做了诡计,因为我还使用控制台日志记录检查了'name'的值