在量角器测试中访问实际API服务中的数据

时间:2014-06-27 03:48:07

标签: json angularjs protractor

我正在使用Protractor为Angular应用程序编写端到端测试。应用程序使用API​​服务从后端检索数据,然后使用此数据填充Angular应用程序中的页面。

我想利用这个API来获取我的茉莉花测试中使用的数据,测试将确认后端数据在UI中的适用页面上正确且完整地填充。我绝对不想模拟服务器,我想点击实际服务器并使用JSON响应中的实际数据。

我的问题是双面的;如何从我的量角器测试中调用API服务,其次,如何从此API中的JSON响应中检索数据。

任何(详细的)信息,您可以提供的有关如何完成此操作的示例将不胜感激

提前致谢。

2 个答案:

答案 0 :(得分:1)

量角器用于测试应用程序的UI。它的作用是单击按钮并在文本框中输入文本并等待响应。例如,如果我有一个登录表单,并且想要在用户输入错误的电子邮件地址并且弹出错误消息时测试该方案。量角器将导航到电子邮件字段,输入不正确的电子邮件地址,然后找到包含错误的元素并验证错误是否显示。

因此,只要您的环境设置具有连接到API服务的UI,就会正常调用API服务。量角器将点击按钮,如果点击按钮触发对API服务的调用,它将直接进入该服务。

对于JSON响应访问,这可能不适用于量角器。量角器用于单击事件并等待响应。因此,如果您以某种形式或方式显示JSON响应,则量角器可以验证它是否已显示。例如,如果您在按钮单击时在表中显示服务器中的某些数据,则可以使用量角器单击该按钮并验证该表是否具有正确的值。但您不希望验证JSON对象是否符合预期。这将是API本身的单元测试。

希望这有帮助。

答案 1 :(得分:0)

我们有两个选择

  1. request并使用require(...)库提出请求。 这允许您制作direct HTTP Service calls,如this Stack Overflow post
  2. 中所述
  3. 直接使用{{1}}的.json文件中的一些数据: https://github.com/angular/protractor/issues/978#issuecomment-47250364