【问题标题】:How to do conditional browser interactions with intern如何与实习生进行有条件的浏览器交互
【发布时间】:2013-07-13 21:04:26
【问题描述】:

使用承诺的网络驱动程序,我想检查页面上是否存在元素,如果存在则登录,否则继续使用承诺链。

由于https://github.com/theintern/intern/issues/14,目前这不可能吗?

【问题讨论】:

标签: intern


【解决方案1】:

在 Intern 2 中,只需使用普通的find 命令:

var remote = this.remote;
remote.get(url)
    .findById('foo')
    .then(function (element) {
        // exists
    }, function () {
        // does not exist
    });

在实习生 1 中,如果您需要条件分支,则需要停止并根据检查结果添加新指令。

var remote = this.remote;
remote.get(url)
    .elementByIdIfExists('foo')
    .then(function (element) {
        if (element) {
            remote.clickElement()
                .type('foo');
                // ...etc.
        }
    });

这应该在 Intern 1.1 中工作只有如果您在没有其他已存在的命令待处理时向远程承诺链添加新命令。 Intern 1.2 将包含消除此限制的改进。这是第 14 期。

【讨论】:

  • 感谢您的解释。
  • 实习生 2 现在是如何做到的?我在 Leadfoot 中没有看到“查找是否存在”类型命令的痕迹。
  • remote.find…().then(exists, doesNotExist)
猜你喜欢
  • 1970-01-01
  • 2020-05-11
  • 2013-02-13
  • 1970-01-01
  • 2014-08-06
  • 2016-08-07
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
相关资源
最近更新 更多