我无法在Protractor和Jasmine中使用IF和EXPECT

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (3)

这是一种情况。

if (await browser.wait(ExpectedConditions.presenceOf(this.collapsedContinent), 500)) {
            await this.helper.click(this.expandCountry);
            await this.helper.click(this.chkcountry);
        } else {
            await this.helper.click(this.chkcountry);
        }

我期待我的期望返回真或假,然后做后续行动。看起来我在这里做错了什么。

我知道期望返回一个承诺,但无论如何我可以期望返回一个真或假,然后从那里去?

我可以使用其他方法,只要它检查元素的存在。我正在使用异步等待所以我不想要一个doThis.then(doThat);

我完全想避免.then()

提问于
用户回答回答于

您应该使用该isPresent()方法来实现以下流程,因为现在else条件永远不会发生。

presenceOf如果没有出现在DOM元素将500毫秒后失败。

解:

    if (await this.collapsedContinent.isPresent()) {
      await this.helper.click(this.expandCountry);
      await this.helper.click(this.chkcountry);
    } else {
      await this.helper.click(this.chkcountry);
    }

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问5 回答
  • uncle_light

    5 粉丝518 提问3 回答
  • 学生

    2 粉丝477 提问3 回答
  • 军哥

    重庆雷驰信息技术有限公司 · 经理 (已认证)

    5 粉丝1 提问3 回答

扫码关注云+社区

领取腾讯云代金券