Protractor-分配给element.all.locator.count的变量返回NaN why
Protractor - variable assigned to element.all.locator.count is returning NaN why?
我正在使用Protractor,并试图获取下拉列表中的所有元素。
我有以下内容,这部分似乎正在工作:
var counter = element.all(By.className('class')).count();
console.log(counter);
我本以为值是43,但我从控制台日志中收到了这个:
{ then: [Function: then],
cancel: [Function: cancel],
isPending: [Function: isPending] }
所以我没有放弃,然后我决定看看我是否可以将这个值输出到我正在测试的网络应用程序中的搜索栏
element(by.className('search_bar')).sendKeys(counter);
当我再次运行它时:我看到搜索栏中的值变成了43。这就是我所期望的计数器所等于的。
然后,我继续在其他地方使用变量"counter",并不断将值返回为:
NaN
我如何让它传递43的实际数值,但作为一个变量。
protractor
是WebdriverJS
的包装器,它是完全异步的,基于promise的概念。基本上,当您编写protractor
测试时,请将所有内容都视为承诺。请参见承诺和控制流。
count()
返回一个承诺。为了查看或使用实际计数值,解析它:
var counter = element.all(By.className('class')).count();
counter.then(function (value) {
element(by.className('search_bar')).sendKeys(value);
});
请注意,如果将promise传递给expect()
,则只有在promise得到解决时,它才会产生期望。这是因为它在量角器所依赖的jasminewd
中得到了增强。换句话说,你可以写:
expect(counter).toEqual(10);
让CCD_ 7担心承诺。
相关文章:
- JS变量返回的对象不是值
- 存储区向变量返回了结果
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- PHP 函数不会向 JavaScript 变量返回值
- 当尝试使用ajax读取文件时,变量返回undefined
- Protractor-分配给element.all.locator.count的变量返回NaN why
- 范围变量返回长度错误
- 当chrome检查器为jQuery变量返回[object object]时,如何返回实际数据
- jQuery - img src 中的变量返回未定义
- 在angular.extend()中向变量返回一个承诺的值
- 循环遍历 HTML 内容并将值作为全局变量返回
- 为什么我的 JavaScript 提升的局部变量返回未定义,但提升的全局变量返回空白
- 解析 HTML 文件并将值作为 php 变量返回
- 提醒变量返回“未定义”
- 将一个函数中的局部变量返回给另一个函数
- PHP 将变量返回给外部 JavaScript
- 获取 JS 中的下拉变量返回未定义
- 使用 promise 将异步函数的结果作为“变量”返回
- 条件返回或单变量返回
- Meteor find使用变量返回null