【问题标题】:E2E Testing for AngularJS App on another computer在另一台计算机上对 AngularJS 应用程序进行 E2E 测试
【发布时间】:2013-04-30 14:49:00
【问题描述】:

我正在 AngularJS 上开发单页应用程序以供学习。我的项目位于另一台计算机上的 Apache HTTP Server 上,我在开发时使用 WinSCP 同步,因此它始终是我工作的最后一个版本。

进行到一半(实际上,当我已经完成了应用程序的大部分内容时),我意识到我没有任何测试,我应该学习如何测试我没有手动测试的东西。我决定尝试使用 Karma Test Runner 为我的 AngularJS 应用程序编写 E2E 测试。

我通过 npm 安装了 Karma,并对其进行了初始化 (karma init test/karma.conf.js),但现在会发生什么?
我试过karma start test/karma.conf.js 它会启动 Chrome(正如我在配置中所说)并说

业力 - 连接
Chrome 26.0 (Windows) 处于空闲状态

即使在 conf 文件中指定了我的测试文件:

files = [
  'test/first_test.js'
];

这就是里面的内容:

describe('my app', function() {
  browser().navigateTo('/');

  it('should then be.', function() {
    expect(browser().location().url()).toBe('/login');
  });

});

提前致谢!

编辑:我意识到,不仅仅是“Chrome 空闲”,还有控制台日志错误:

Uncaught ReferenceError: browser is not defined

有什么想法吗?我现在很困惑。

【问题讨论】:

    标签: testing angularjs karma-runner


    【解决方案1】:

    Browser 仅在 beforeEach 内部定义。试试这个:

    describe('my app', function() {
    
        beforeEach(function(){
            browser().navigateTo('/');
        });
    
        it('should then be.', function() {
            expect(browser().location().url()).toBe('/login');
        });
    
    });
    

    【讨论】:

    • 现在它一直说Uncaught ReferenceError: describe is not defined Chrome 26.0 (Windows) ERROR Uncaught ReferenceError: describe is not defined at long-long-path Chrome 26.0 (Windows): Executed 0 of 0 ERROR (0.124 secs / 0秒)
    • 谢谢,这对browser is not defined 有所帮助,但仍然存在错误,我最大的错误是没有将ANGULAR_SCENARIOANGULAR_SCENARIO_ADAPTER 添加到Karma 选项中的文件属性中。如果您对哪里出了问题感兴趣,请看下面,我自己回答了。
    【解决方案2】:

    好吧,看来我自己解决了。

    我应该添加

      ANGULAR_SCENARIO,
      ANGULAR_SCENARIO_ADAPTER,
    

    到 karma 配置文件的 files 属性。在那之后,我进步了一点,但仍然遇到了很多麻烦,但主要是我得到了resumeBootstrap未定义的错误。我的应用程序使用的是 AngularJS 1.0.4,但看起来 Karma 的适配器仅适用于 1.0.6+。将应用程序升级到 1.0.6 对 resumeBootstrap 有所帮助。

    关于在外部服务器上测试应用程序:

    proxies = {
     '/': 'http://another.internal/app/'
    };
    

    不要忘记将应用程序 index.html 中 CSS 和 JS 文件的链接从本地 (css/style.css) 更改为网络 (//another.internal/app/css/style.css)。

    【讨论】:

      猜你喜欢
      • 2011-01-19
      • 1970-01-01
      • 2014-01-21
      • 2013-04-26
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      相关资源
      最近更新 更多