当前位置: 首页 > 知识库问答 >
问题:

如何编写量角器方案以断言 http 响应错误?

拓拔烨赫
2023-03-14

我正在使用量角器测试我的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个错误(服务器中的一个bug)。希望量角器可以用来捕捉这些问题。

共有1个答案

欧阳向文
2023-03-14

量角器允许您访问浏览器控制台的输出;您可以解析其输出并检查错误,例如500会抛出的错误。

下面是一个类似案例的例子(不是我做的):

https://github.com/juliemr/protractor-demo/blob/master/howtos/browserlog/spec.js

如果这是忠实于量角器的预期用途是有争议的;就像上面另一张海报评论的那样,你应该在界面中真正显示错误,并使用量角器来测试这种显示,而不是错误本身。

 类似资料:
  • 问题内容: 有没有办法只处理过滤器中的响应。 下面编写的代码是否正确? 问题答案: 这取决于您想要什么。通常,您的样本虽然不正确。之后chain.doFilter又回来了,这是来不及做的任何回应。此时,整个响应已发送到客户端,您的代码无法访问它。 您需要做的是包装request和/或包装response到您自己的类中,将这些包装传递给doFilter方法,并处理包装中的所有处理。 为了使其更容易,

  • 我尝试使用“evaluate()”在量角器中消除角变量并得到值。如何验证 但是它说 打字错误:“厨房”不是一个可读的。 < code>kitchen是< code>angularObj.type中的值 如何在量角器中断言值?

  • 问题内容: 如何以编程方式为特定类启用断言,而不是指定命令行参数“ -ea”? 问题答案: 这是对@bala好的答案的评论,但时间太长。 如果仅启用断言,则调用您的主类-您的主类将在启用断言之前加载,因此您可能需要一个不直接引用代码中其他内容的加载器。它可以设置断言,然后通过反射加载其余代码。 如果在加载类时未启用断言,则应立即将其“编译出”,这样您就无法打开和关闭它们。如果要切换它们,则根本不需

  • 在我们的网站上有一个图标,隐藏/取消隐藏菜单。我创建了以下脚本来测试它: 语句“expect(foo.isDisplayed()).toBe(false);”是从本网站复制的。我看不出它失败的任何原因,但是当我运行测试时,我得到了以下错误,即:foo。显示的是(…)。托比不是一个函数。如何使用expect函数验证菜单是否隐藏? estBed测试汉堡菜单单击验证消息:失败:foo.is显示(...)

  • 问题内容: 我试图将自定义错误消息返回给用户,以让他们知道发生错误时出了什么问题,但是我已经尝试了所有方法来显示该消息,并且似乎什么也没有捕捉到。这是我的角度代码: 这是它正在调用的 styleAPIservice 函数: 这是 API 函数: 这是发生错误时返回的内容(例如Style已经存在): 我究竟做错了什么?我觉得自己到处都在搜索,并尝试了所有可能的建议,但是对于为什么我无法显示错误消息我

  • 我正在为我的网站登录和注销功能编写一个简单的量角器测试。登录测试运行正常,但我不知道如何编写注销测试,因为注销链接在将鼠标悬停在图标上后显示在下拉菜单中 我如何访问最后一个