如何让Karma与Chrome合作

Ali*_*ice 18 linux ubuntu google-chrome angularjs karma-runner

我有一个仅命令行的Ubuntu 11.04(GNU/Linux 2.6.35.4-rscloud x86_64),我正在使用Angular Phonecat教程,该教程使用Karma进行测试.该噶浏览器配置页说Chrome启动的是"默认附带噶."

但这对我不起作用.这是karma.conf.js.以下是输出.

 $ ./scripts/test.sh

Starting Karma Server (http://karma-runner.github.io)
-------------------------------------------------------------------
INFO [karma]: Karma v0.10.4 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
ERROR [launcher]: Cannot start Chrome
        Can not find the binary google-chrome
        Please set env variable CHROME_BIN
Run Code Online (Sandbox Code Playgroud)

这个答案指出我需要铬.

因此,我尝试使用本指南 "使用命令行下载64位版本" 在我的Ubuntu上安装Chrome .一切顺利,直到sudo apt-get -f install最后有很多"无法从ubuntu IP地址获取",例如91.189.91.15或91.189.92..即使使用/ usr/bin/google "无法找到二进制google-chrome"的东西消失了,我仍然在单个测试级别上获得了"无法启动Chrome".然后试图修正错误,我删除的/ usr/bin中/谷歌的东西.

目前,我有这些node_modules:

angular-phonecat/node_modules$ ls
karma                      karma-html2js-preprocessor  karma-requirejs
karma-chrome-launcher      karma-jasmine               karma-script-launcher
karma-coffee-preprocessor  karma-junit-reporter
karma-firefox-launcher     karma-phantomjs-launcher
Run Code Online (Sandbox Code Playgroud)

问1:由于我的机器只有命令行访问,没有GUI,另一个Karma发射器,PhantomJS,比Chrome/Chromium更好的选择?

问题2:如果我仍然使用Chrome/Chromium,我应该使用Chrome还是Chromium?

问题3:有没有人知道我需要获得google-chrome或chrome以获得Karma才能在Angular应用程序中工作?

Dan*_*ock 26

我将扩大路德维希对求职者的第三点,以及将来我自己的参考......

您需要做的第一件事是找到chromium-browser安装位置.跑:

which chromium-browser
Run Code Online (Sandbox Code Playgroud)

这将返回可执行文件的路径,如下所示:

/usr/bin/chromium-browser
Run Code Online (Sandbox Code Playgroud)

然后只需设置路径:

export CHROME_BIN=/usr/bin/chromium-browser
Run Code Online (Sandbox Code Playgroud)

现在,Karma可以找到执行测试所需的浏览器(假设您决定使用图形界面).


Lud*_*son 9

  1. 如果您只有一个命令行界面,PhantomJS是您的唯一选择.
  2. 在linux(至少12.04及以后)中,铬是另一种选择.但如果您没有图形用户界面,则无法安装它.
  3. 线索在这里:"请设置env变量CHROME_BIN".Karma尝试执行一个被调用的文件google-chrome但它不存在.chrome的可执行文件名称因操作系统而异.因此,您需要设置一个名为CHROME_BIN的环境变量,该变量具有chrome可执行文件名称的值.在我的系统(Linux桌面13.10)上,这是chromium-browser.