当前位置: 首页 > 知识库问答 >
问题:

不打开浏览器如何在docker环境下测试angular app?

王成化
2023-03-14

目前,我正尝试在docker环境中使用ng test运行angular应用程序的单元测试用例,这样它会打开一个浏览器。我不需要在prod中这样做,所以我尝试运行ng test - browser PhantomJS,但它不起作用。

我收到此错误22 08 2017 11:52:42.355:警告[karma]:没有捕获的浏览器,打开http://localhost:9876/22 08 2017 11:52:42.370:信息[karma]:karma v1.7.0服务器启动于http://0.0.0.0:9876/22 08 2017 11:52:42.370:信息[launcher]:以无限并发方式启动浏览器PhantomJS 22 08 2017 12:52:43.382:信息[启动器]:启动浏览器PhatomJS 68%构建模块507/523模块16活动…/rxjs/observable/PromiseObs22 08 2017 10:52:53.039:警告[karma]:没有捕获的浏览器,打开本地主机:9876/22 08 2017 11:53:42.382:警告[launcher]:PhantomJS在60000毫秒内未被捕获,已死亡。22 08 2017 11:53:44.383:警告[launcher]:PhantomJS在2000毫秒内未被杀死,发送SIGKILL。22 08 2017 11:53:46.385:警告[launcher]:幻影JS在2000毫秒内没有被SIGKILL杀死,继续。

共有1个答案

姬凡
2023-03-14

没有浏览器,您无法运行角度测试,因为它是前端应用程序的一部分,只有在浏览器上运行时才能工作。我看到你正试图在幻想曲上运行它。PhantomJs是一个javascript项目,旨在模拟一个用于angular应用程序测试的浏览器。

从您的角度来看,您所需要的只是确保测试运行,并且您并不真正关心浏览器的打开。这正是“无头”浏览器。一个没有GUI的浏览器。PhantomJs是无头浏览器的一个例子,过去很流行,因为它可以在管道中运行测试,而不需要GUI。今天,Chrome还为测试跑步者提供了无头模式。

如果您使用PhantomJs正确设置了您的Karma配置文件,那么您会发现它可以正常工作。这是一个链接,说明人们在docker环境中为gitlab CI管道做您想做的事情。

https://medium.com/letsboot/angular-4-and-testing-angular-cli-gitlab-ci-ng-test-phantomjs-tdd-afc20f50b928

 类似资料:
  • 这可能已经被问过了,但到目前为止,我根本找不到任何详细的解释,现有的留档似乎是为某种通灵者写的,他应该知道一切。 根据本手册,我添加了容器 然后我检查它以接收容器ip 检查的端口 并尝试用这个公式在浏览器中连接 它不起作用。 我是否做错了什么,或者我应该添加一些额外的东西,比如 apache 或其他东西的容器? 编辑 据我了解,在创建一些兔子容器后,现在我需要运行 Dockerfile 来创建映像

  • 问题内容: 可能已经有人问过这个问题,但是到目前为止,我根本找不到任何详细的解释,而现有的文档似乎好像是为应该了解所有知识的通灵者编写的。 按照本手册,我添加了容器 然后我检查了它以接收容器ip 检查端口 并尝试使用此公式在浏览器中进行连接 没用 我是在做错什么,还是应该添加一些其他内容,例如用于存放Apache或其他内容的容器? 编辑 据我了解,在创建了一些兔子容器之后,现在我需要运行Docke

  • 问题内容: 我正在开发一个需要同时在客户端和服务器端工作的JS-app(在浏览器中的Javascript和Node.js中),并且我希望能够重用部分代码。用于双方。 我发现这是一个只能在浏览器和节点上访问的变量,因此我可以检测代码在哪个环境中执行(假设没有脚本声明该变量) 他们是两个问题。 我应该如何检测代码在哪个浏览器中运行。例如,此代码是否可以。(此代码是内联代码,这意味着它被一些全局代码包围

  • 我已经用TestNG for selenium webdriver(Chrome浏览器)创建了一个Maven项目。我用TestNG运行了一个基本测试,Chrome浏览器成功打开。Buf如果我用“Maven test”命令运行相同的测试,我会得到一条错误消息。 你能帮忙吗?我尝试了许多解决方案,如堆栈溢出所建议的,但仍然不成功:( 我已经创建了testng.xml文件 我已经为Selenium-Ja

  • 全局基类 登录名 } 问题是,当运行此功能时,我得到了下面的错误,我不明白为什么会发生这种情况,因为它在错误的位置上没有给我任何帮助。 未定义步骤:给定I打开Chrome 未定义步骤:浏览网站时 未定义的步骤:然后我使用“user1”和“password1”登录网站

  • 我有以下场景:安装了firefox和chrome的Ubuntu16.04机器,chrome是我的默认浏览器。 我在shell中检查以下操作: 并且不会出现firefox的任何一面,总是Chrome。这样很好。还要检查: 点击桌面文件。html->chrome启动 现在奇怪的是,如果我跑了: 出于某种奇怪的原因,它总是打开Firefox。我不知道为什么,有人能帮我吗?