首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在点击和内容加载完成后运行量角器测试?

如何在点击和内容加载完成后运行量角器测试?
EN

Stack Overflow用户
提问于 2015-12-17 12:46:01
回答 2查看 513关注 0票数 1

我有一个测试代码:

代码语言:javascript
复制
element(by.cssContainingText('a[ng-click="select()"]', 'Visual')).click()
browser.sleep(1000)
expect(element.all(by.tagName('angular-chart')).count()).toEqual(1);

但是它挂起直到超时到达,然后显示:

错误:超时-异步回调没有在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用。

我想我需要等待内容加载,然后运行测试?

如果我用下面的一个替换expect结构,它会传递:

代码语言:javascript
复制
expect(true).toEqual(true)
EN

回答 2

Stack Overflow用户

发布于 2015-12-17 14:06:28

试试这个:

代码语言:javascript
复制
element(by.cssContainingText('a[ng-click="select()"]', 'Visual')).click().then( function(){
      expect(element.all(by.tagName('angular-chart')).count()).toEqual(1);
});

在量角器中的大多数呼叫都会带来一个承诺。http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.click

票数 0
EN

Stack Overflow用户

发布于 2015-12-17 15:15:03

让我们尝试添加一个显式等待以等待angular-chart元素现身

代码语言:javascript
复制
var EC = protractor.ExpectedConditions;

element(by.cssContainingText('a[ng-click="select()"]', 'Visual')).click()

var chart = element(by.tagName('angular-chart'));
browser.wait(EC.presenceOf(chart), 10000);

您还可以考虑增加茉莉花超时间隔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34334977

复制
相关文章

相似问题

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