如何使用量角器选择下拉列表的所有值

时间:2017-04-24 09:52:24

标签: typescript promise protractor

我有一个场景,通过点击哪个下拉列表打开一个元素。所以我必须逐个选择下拉列表的每个值。因此,选择一个值,然后关闭下拉列表,然后再次需要打开下拉列表并选择第二个值,依此类推,在每次选择后,我需要执行一些操作。

这是我试过的代码。

this.allZoomTimeValues.each((value)=>{  
                  browser.driver.sleep(3000) 
                console.log("1")
                value.getText().then(a=>{
                     console.log("2")
                    this.buttonCross.click().then(function(){
                         console.log("3")
                            browser.driver.sleep(3000).then(function(){
                                 console.log("4")
                                  browser.actions().mouseMove(this.canvas.get(0), {x: 10, y: 80}).click().perform();  
                            })

                    });
                });
            });

所以它会抛出错误“失败:无法读取未定义的属性'画布'

我知道这是由于承诺但不确定如何逐个解决承诺。 这是显示的输出

1
1
1
1
1
1
1
1
1
1
2
3
4
F

所以这里返回所有10个值,并且为最后一个值解析所有其他promise。

所以,请帮助我如何选择下拉菜单的每个值

1 个答案:

答案 0 :(得分:1)

这是因为它是一个承诺,循环将在之前运行所有值 在下一个线程中调用promise resolver handler。

试试这个:

myVal = Range("A1").Value