标签: angularjs-e2e

AngularJS - Karma(e2e):执行0 of 0 ERROR

我遇到了一个问题,我有一段时间无法解决这个问题,并且因为我不知道自己做错了什么而感到非常沮丧.:) 任何帮助深表感谢.我也在我的应用程序中使用requirejs.这基本上就是我想要建立的; https://github.com/Cengizism/base

当我尝试开始我的e2e测试时,我在控制台上得到了这个;

INFO [karma]: Karma v0.10.0 server started at http://localhost:8080/_karma_/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 28.0.1500 (Mac OS X 10.8.4)]: Connected on socket id n-0AVRliCogs2nWBfgDz
Chrome 28.0.1500 (Mac OS X 10.8.4): Executed 0 of 0 ERROR (0.208 secs / 0 secs)
Run Code Online (Sandbox Code Playgroud)

我的配置文件如下所示;

module.exports = function(karma) {
    'use strict';

    karma.set({
        frameworks: ['jasmine', 'ng-scenario'],

        files: [
          'app/vendors/angular-scenario/angular-scenario.js',
          'test/e2e/*.js'
        ],

        basePath: '',

        exclude: [],

        reporters: ['progress'],

        port: 8080,

        runnerPort: 9100,

        colors: true,

        logLevel: karma.LOG_INFO,

        autoWatch: true,

        browsers: ['Chrome'],

        captureTimeout: …
Run Code Online (Sandbox Code Playgroud)

angularjs karma-runner angularjs-e2e

6
推荐指数
2
解决办法
5548
查看次数

使用Angular-UI Select2元素进行Angularjs E2E测试

我有一个使用Angular UI的select2元素的部分http://angular-ui.github.io/

我遇到的问题是该元素是必需的,虽然我已成功通过以下代码设置字段,但由于外部更改而不确定Angular的模型不能更新,因此不会删除所需的属性,我不知道如何要么提供$ scope.apply(),要么使用Angular的另一个函数来继续测试.

首先允许运行直接jQuery函数:(取自如何从Angular e2e测试范围执行jQuery?)

angular.scenario.dsl('jQueryFunction', function() {
return function(selector, functionName /*, args */) {
    var args = Array.prototype.slice.call(arguments, 2);
    return this.addFutureAction(functionName, function($window, $document, done) {
        var $ = $window.$; // jQuery inside the iframe
        var elem = $(selector);
        if (!elem.length) {
            return done('Selector ' + selector + ' did not match any elements.');
        }
        done(null, elem[functionName].apply(elem, args));
    });
};
});
Run Code Online (Sandbox Code Playgroud)

然后更改字段值:

jQueryFunction('#s2id_autogen1', 'select2', 'open');
    jQueryFunction('#s2id_autogen1', 'select2', "val", "US");
    jQueryFunction('#s2id_autogen1', 'select2', 'data', {id: "US", text: "United …
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui angularjs-e2e ui-select2

6
推荐指数
2
解决办法
2767
查看次数

我应该将Cucumber用于AngularJS单页面应用程序吗?

我对Cucumber和Angular都很新.我有一个rails应用程序,它是一个单页面应用程序.我应该打扰黄瓜,还是应该使用AngularJS的e2e测试?

任何见解,比较和过去的经验表示赞赏!

ruby-on-rails cucumber angularjs angularjs-e2e

6
推荐指数
1
解决办法
2797
查看次数

量角器双击特定位置

我正在开发一个系统(使用AngularJS),该系统具有通过双击网页上的某个位置来调用的功能,然后我获得鼠标的坐标并执行我想要的操作.

我正在尝试使用量角器进行e2e测试,但我无法找到有关如何模拟双击并获取位置的任何信息.

有没有人对此有所了解?

谢谢!

mouse double-click angularjs angularjs-e2e protractor

6
推荐指数
2
解决办法
7764
查看次数

量角器0.16.1 e2e AngularJS - 启动selenium独立服务器... events.js:72错误:产生ENOENT

尝试项目:https://github.com/yearofmoo/angularjs-seed-repo

环境:

Windows 7 64位
NodeJS v 0.10.24
量角器v 0.16.1
grunt v0.4.2
grunt-cli v0.1.11

笔记:

对于selenium,根据[Julie的帖子] [1],install_selenium_standalone已经在12/2/13左右被webdriver-manager二进制替换.这似乎与这个问题有关.

此外,必须在项目目录中安装git,并且必须在Windows中使用Git Bash运行npm install.

Git Bash出错:

$ grunt test:e2e --debug
运行"connect:testserver"(连接)任务
[D]任务源:c:\nodejs-0.10.24 \node_modules\grunt-contrib-connect\tasks\conn ect.js开始连接web服务器在127.0.0.1:9999.

运行"量角器:singlerun"(量角器)任务
[D]任务来源:c:\nodejs-0.10.24 \node_modules\grunt-protractor-runner\tasks\pr otractor_runner.js启动selenium独立服务器...

events.js:72
      throw er; //未处理的'错误'事件
               ^
错误:       在Process.ChildProcess._handle.onexit(child_process.js:771:34)的
       errnoException(child_process.js:980:11)
处生成ENOENT

>致命错误:量角器退出代码:8

selenium angularjs gruntjs angularjs-e2e protractor

6
推荐指数
1
解决办法
4567
查看次数

AngularJS量角器:逐步进度日志

在(现已弃用)角度场景测试运行器中,有一个选项可以创建一个runner.html页面,该页面将在iFrame中运行测试,同时在主页面中逐步报告进度.

场景转轮的截图

有没有办法为量角器测试获得类似的逐步日志?它不需要在一个html页面(控制台或日志文件就可以了).

angularjs angularjs-e2e protractor jasmine-spec-reporter

6
推荐指数
2
解决办法
1727
查看次数

e2e $ httpBackend假文件上传服务

我基于假的后端实现开发角度前端.

这个假存储是使用构建的localStorage,http请求由e2e $httpBackend.所有这一切都很好,直到我试图假冒文件上传服务.

在我的客户端代码中,我有以下服务(基于这篇文章):

angular.module('myApp')
    .service('fileUpload', ['$http', function ($http) {
    this.uploadFileToUrl = function(file, uploadUrl) {
        var fd = new FormData();
        fd.append('file', file);
        $http.post(uploadUrl, fd, {
          transformRequest: angular.identity,
          headers: {'Content-Type': undefined}
        });
    };
}]);
Run Code Online (Sandbox Code Playgroud)

和假上传服务:

angular.module('myApp')
  .run(function($httpBackend, $log) {
    $httpBackend.whenPOST('api/upload').respond(function(method, url, data) {
      // data is a FormData
      // TODO
      // read the content
      // store to local storage
      return [200, 'uploaded/path'];
    });

  });
Run Code Online (Sandbox Code Playgroud)

接收数据是FormData.我读到的FormData只是它是一个只写对象.

如何读取文件内容以将其存储到本地存储中?

javascript file-upload angularjs angularjs-e2e

6
推荐指数
0
解决办法
460
查看次数

场上的 maxlength 不适用于 Karma

我有一个最大长度为 6 的字段,但不知何故,以下输入数据的方式会导致 7 个字符被允许:

<input type="text" name="myName" maxlength="6" ng-model="myModel">
Run Code Online (Sandbox Code Playgroud)

这是测试位:

input('myModel').enter('1111117');
expect(input('myModel').val()).toBe(111111);
Run Code Online (Sandbox Code Playgroud)

这就是结果

expected 111111 but was "1111117"
Run Code Online (Sandbox Code Playgroud)

我想这与正在使用的模型而不是真实领域有关,但是我将如何在 Karma 中测试它?

angularjs karma-runner angularjs-e2e

5
推荐指数
1
解决办法
658
查看次数

在MomentJS中设置时区

我为我的JavaScript SPA应用程序制作了一些测试代码.我为整个SPA设置了区域设置,假装在世界各地运行它.

现在,我设置了覆盖Date()类的getTimezoneOffset()函数的语言环境:

Date.prototype.getTimezoneOffset = function () { return 120 };
Run Code Online (Sandbox Code Playgroud)

它工作正常.

但是,在SPA的某些部分我使用的是MomentJS(由于标准DateTime库的某些限制).覆盖是否也会影响MomentJS区域设置?或不?

javascript timezone datetime momentjs angularjs-e2e

5
推荐指数
1
解决办法
4902
查看次数

单击量角器中的上传按钮后如何关闭文件上传对话框

我想在量角器中上传图像文件。问题是我无法在"input[type = "file"]"不点击上传按钮的情况下获取元素。

当我点击上传按钮时,文件上传对话框弹出。

我试过了

browser.actions().sendKeys(protractor.Key.ESCAPE).perform(); 但它不起作用。

这就是我正在做的:

var image = '../images/image1.png';
var absPathImg = path.resolve(__dirname, image);
element(by.id('uploadImage')).click();
browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
element(by.css('input[type=file]')).sendKeys(absPathImg);
element(by.id('upload')).click();
Run Code Online (Sandbox Code Playgroud)

如何关闭该文件上传对话框以上传图像?

selenium-webdriver angularjs-e2e protractor e2e-testing

5
推荐指数
1
解决办法
4906
查看次数