首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >order protractor/webdriver执行promises

order protractor/webdriver执行promises
EN

Stack Overflow用户
提问于 2014-07-28 23:05:44
回答 1查看 159关注 0票数 3

下面的代码从网页获取一些文本,获取一个inputbox,清除它,并将之前的文本发送到该inputbox:

代码语言:javascript
复制
var pText = browser.element(by.css('some_tag')).getText();
var inputbox = browser.element(by.css('[data-aid="login-app-input-username"]'));
inputbox.clear();
// if pText is defined here, everything is ok.
inputbox.then(
    function(e){
        pText.then(
            function(text) {
                e.sendKeys(text);
            });
    });

结果是sendKeys()clear()之前完成,尽管代码的顺序是这样的。

如果我们将pText的声明向下3行(在clear()之后),一切都会正常工作。

我的问题是,如何才能在不依赖于pText声明的情况下以正确的顺序执行上述代码。顺便说一句,我知道sendKeys()可以得到一个承诺,而这不是我正在寻找的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 01:09:20

最简单的方法是:

代码语言:javascript
复制
var pText = browser.element(by.css('some_tag')).getText();
var inputbox = browser.element(by.css('[data-aid="login-app-input-username"]'));

pText.then(function(text) {
  inputbox.clear().sendKeys(text);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24998230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档