【问题标题】:Angularjs e2e testing with scenario test runner - ignore alert()使用场景测试运行器进行 Angularjs e2e 测试 - 忽略 alert()
【发布时间】:2013-11-01 13:42:09
【问题描述】:

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

【问题讨论】:

    标签: javascript angularjs angularjs-e2e angular-scenario


    【解决方案1】:

    请看https://github.com/katranci/Angular-E2E-Window-Dialog-Commands

    您可以在测试中添加alertOK();,然后才会显示警报,这样您就可以跳过它。

    【讨论】:

      【解决方案2】:

      当然这不一定符合 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>
      

      【讨论】:

      • 是的,但我需要这个用于 Angular 的场景测试运行器,据我所知,我无法在其中模拟/处理服务......这是用于单元测试,我不会被警报打扰。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      相关资源
      最近更新 更多