【发布时间】:2016-09-05 11:44:13
【问题描述】:
有没有办法让一个元素最终出现在页面上?例如一种方法
browser.wait(protractor.ExpectedConditions.presenceOf(element(by.partialLinkText('Continue'))), 1000, 'Unable to find continue link');
因预期错误而不是超时而失败?本质上是一种在下面的行中使用isEventuallyPresent() 而不是isPresent() 的方法
expect(element(by.partialLinkText('Continue')).isPresent()).toBe(true);
作为参考,我使用 browser.ignoreSynchronization = true,尽管它是一个 Angular 应用程序,并且使用 Jasmine(至少现在是这样)。
【问题讨论】:
-
不确定我是否完全理解,但我现在会发表评论——
Expected Conditionslink here 下的任何内容都可以解决您的问题吗?特别是presenceOf和visibilityOf——我使用它们来等待Modal(因为它们仅在触发后才会动态附加到HTML),然后再开始测试执行。 -
除此之外 - 您可以使用
stalenessOf来确保元素 不 存在于 DOM 中,然后使用上面列出的其他元素确保它稍后存在。
标签: angularjs jasmine protractor e2e-testing