【发布时间】:2014-03-20 18:24:53
【问题描述】:
我正在使用量角器来测试我的 Angular 客户端(服务器是使用 Python Google App Engine 构建的)。
我希望我的量角器测试对来自 POST 的 http 响应做出断言,该响应是通过单击表单按钮触发的......就像这样:
describe('Pointless Form Post Test', function() {
beforeEach(function() {
browser.get('/myform');
});
it('should successfully populate a form, post it, and not return error', function() {
element(by.model('form_summary')).sendKeys('Some input text');
element(by.model('form_details')).sendKeys('Lots of detailed text');
element(by.id('formBtn')).click();
--> SOME FORM OF ASSERTION FOR HTTP 500 ERROR RESPONSE <
})
});
如何断言点击按钮后收到的来自服务器的响应?
注意:我有这种偷偷摸摸的怀疑,我对量角器旨在解决的 E2E 测试的范围没有正确的理解......但这感觉就像我的 E2E 测试需要的东西。我正在针对我的 POST 处理程序编写一个测试,并注意到服务器正在发回 500 个错误(服务器中的一个错误)。希望量角器可以用来捕捉这些问题。
【问题讨论】:
-
量角器是一个e2e测试工具。您的应用程序(正在测试)应该处理错误 500 ,例如通过向用户显示错误消息。您的量角器测试应验证是否显示了错误消息。
-
谢谢gontard。我明白你在说什么,但我的 App Engine 应用程序总是有可能会根据我的 Angular 客户端访问服务的方式抛出意外异常......我仍然可以为此使用我的 E2E 测试运行监控。
-
我想我以前很困惑,现在我 less 很困惑:)....如果我正确理解@gontard,他说我应该做一些断言(在已知的 DOM 元素上?)描述了我的应用程序在发生错误时将显示的 HTML 错误页面,而不是在量角器/webdriver 浏览器对象的某些状态(正如我所想的那样)
标签: javascript angularjs selenium-webdriver protractor