使用:
ng 测试
Angular CLI在Chrome中默认运行测试,这很好,但是如果我需要在仅控制台环境(无头浏览器)中运行它们呢?
如果我可以在每次运行它时指定是否想要无浏览器,那就太好了,所以类似于:
ng test --browsers MyHeadLessBrowser
编辑:
运行PhantomJS我得到了以下信息:
PhantomJS 2.1.1 (Linux 0.0.0)错误类型错误:useValue,useFactory,数据不可迭代!http://localhost:9876/_ karma _ web pack _/poly fills . bundle . js:854
ReferenceError:在中找不到变量:Intlhttp://localhost:9876/_karma_webpack_/vendor.bundle.js(第49362行)intlDateFormat@http//localhost:9876/_karma_webpack_/vendor.bundle.js:49362:20
Angular提供了我们在没有浏览器的情况下运行测试所需的所有东西。
打开karma.conf.js
文件并将ChromeHeadless添加到浏览器数组-
browsers: ['ChromeHeadless'],
测试快乐!
这应该可以达到目的:
npm i --save-dev karma-phantomjs-launcher
然后修改karma.conf.js文件的插件属性,将PhantomJS插件添加到列表中。还将PhantomJS添加到浏览器属性。
plugins: [
require( 'karma-jasmine' ),
require( 'karma-chrome-launcher' ),
require( 'karma-phantomjs-launcher' ),
require( 'karma-remap-istanbul' ),
require( 'angular-cli/plugins/karma' )
],
...
browsers: [ 'PhantomJS', 'Chrome' ],
由于您想要完全无头的体验,您可以从浏览器属性中删除Chrome,也可以从插件数组中删除karma-chrome-Launcher。
作为基于威廉·汉普郡的更完整的答案,库加的评论和我个人的补充。
您可以使用无头Chrome:
ng 测试 --浏览器 ChromeHeadless
你需要使用Chrome 59。
但是,如果您需要PhantomJS(和/或更改默认的<code>ng测试
编辑:请注意,PhantomJS项目已存档,请参阅此线程。
为了能够(可选地)在没有浏览器的情况下使用PhantomJS运行测试,您应该:
npm install --save-dev karma-phantomjs-launcher
npm install --save intl
打开< code>karma.conf.js并将< code > require(' karma-phantom js-launcher ')添加到< code>plugins数组中,例如:
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-phantomjs-launcher'),
// ...
],
打开< code>src/polyfills.ts文件,取消对以下行的注释:
浏览器聚合填充
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
应用程序导入
import 'intl';
import 'intl/locale-data/jsonp/en';
不可以。您可以使用< code > Chrome (angular-CLI默认值)运行测试:
<code>ng测试——Chrome浏览器
或PhantomJS(无头):
<code>ng测试——PhantomJS浏览器
通过更改karma.conf.js
中的浏览器
数组的值,可以更改ng test
的默认行为(因此,当未提供--浏览器
参数时)。
现在可以将其设置为仅使用<code>Chrome</code>(默认angular cli设置):
浏览器: ['铬'],
或者< code>PhantomJS:
浏览器: ['PhantomJS'],
或者两者都有:
浏览器:['Chrome','PhantomJS'],
问题内容: 我正在将Selenium WebDriver与Java和TestNG框架一起使用。我想一次在一个代码中使用Firefox,IE,Chrome来进行跨浏览器测试。我只能将Firefox初始化为 但无法以相同方式初始化其他浏览器。例如: 给出错误 给出错误 如何初始化IE和Chrome并在所有所需的浏览器中执行测试? 问题答案: 对于C# 加 创建一个包含浏览器名称的配置文件。实现与配置文
请详细步骤,尝试同时使用HTML单元驱动程序配置和幻影Js配置,但没有运气 如何在jeter中为WebDriver Samplers运行无头浏览器,请提供详细步骤,尝试使用HTMLUnit驱动程序配置和PhantomJs配置,但运气不好。我的要求是我需要将selenium脚本转换为jeter脚本,我已经在jeter中创建了Webdrive脚本,我需要在100个用户中运行它,因为我不想启动100个浏
我有一些使用JUnit和Selenium的测试,我需要在Chrome浏览器上运行它。我下载了Chrome驱动程序,并将我的SetUp()配置为: ChromeDriver.exe添加在我的引用库文件夹中。 当我运行测试时,会显示以下错误:java.lang.exception:没有可运行的方法 有人知道我该怎么解决吗? 解决方案 2更新您的setProperty为:第二个参数必须是您的C在哪里hr
问题内容: 我花了一天的时间研究可用于完成以下任务的图书馆: 检索网页的全部内容(例如在后台),而不向视图渲染结果。 例如,lib应该支持触发ajax请求的页面,以便在加载初始HTML之后加载一些其他结果数据。 从生成的html中,我需要获取xpath或CSS选择器形式的元素。 将来我可能还需要导航到下一页(触发事件,提交按钮/链接等) 这是我尝试未成功的尝试: Jsoup:效果很好,但不支持ja
我试图在浏览器堆栈上运行多个浏览器上的E2E测试,我参考了在量角器中的多个/并行浏览器上的E2E测试?和Internet Explorer Selenium量角器e2e测试 但每次我试着运行测试时都会犯错- 谁能告诉我什么是我做错了这里,而且我们使用gulp ti运行规范,但我的问题是它是说,甚至没有超出认证。
我想将JSTestDriver与jenkins-CI集成。问题是生成服务器没有显示。有没有办法无头运行浏览器? 谢谢