1

我正在为我的应用程序创建 e2e 测试,但在测试登录页面时出现问题。我想测试正确的登录名和不正确的登录名,但问题是当您输入错误的凭据时,您会收到警报(“您的电子邮件或密码不正确”),并且在 e2e 测试中也会触发,这意味着我必须单击 alert() 上的“确定”按钮以继续测试。无论如何要忽略测试中的 alert() 吗?

4

2 回答 2

1

请看一下https://github.com/katranci/Angular-E2E-W​​indow-Dialog-Commands

您可以alertOK();在显示警报之前添加测试,这样您就可以跳过它。

于 2014-02-06T18:08:25.467 回答
0

当然,这不一定再符合 E2E 的条件 - 但您可以在任何指令或控制器或服务有alert()调用时将警报抽象到服务,然后只是模拟该特定服务。这是一个例子:

Javascript

var myApp = angular.module('myApp', []);

myApp.factory('alert', function () {
  return function (message) {
    alert(message);
  };
});

myApp.controller('MyController', function ($scope, alert) {
  $scope.alert = alert;
});

看法

<body ng-app="myApp" ng-controller="MyController">
  <div ng-init="alert('test')"></div>
</body>
于 2013-11-01T18:08:40.310 回答