【发布时间】:2014-08-26 17:52:06
【问题描述】:
我正在为我的应用程序创建模拟测试用例。我不想仅仅为了测试而调用我们的服务端点,因为它们有专门的测试。所以,我在模拟数据并拦截请求。但似乎量角器测试用例完成得太早,无法响应请求。我试过waitForAngular,但它似乎对测试没有任何影响。测试仍然失败。
这是我的代码:
// Adding a metric
it('should allow the user to add a metric', function() {
var count = 0;
element(by.model('p.title')).clear();
element(by.cssContainingText('.btn', 'Add Metric')).click();
browser.waitForAngular();
element.all(by.cssContainingText('.btn-success', 'Add')).first().click(); // Add first metric on list
// If adding metric fails, retry 5 times before giving up
while (count < 3 && element(by.buttonText('Retry')).isDisplayed()) {
element(by.buttonText('Retry')).click();
count++;
}
// If we were able to load the metric data
if (count < 3) {
element(by.css('.close')).click();
expect(element.all(by.repeater('metric in p.metrics')).count()).toBe(1);
} else {
element(by.buttonText('Cancel')).click();
}
}, 20000);
谁能告诉我,我在这里做错了什么?
【问题讨论】:
标签: angularjs unit-testing protractor