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

在gitlab CI中运行testcafe失败

郭云
2023-03-14

我正在尝试在gitlab的CI管道中运行端到端测试(使用testcafe)。但是,我遇到了以下错误:

ERROR The Firefox 52.0.0 / Linux 0.0.0 browser disconnected. This problem may appear when a browser hangs or is closed, or due to network issues.

我的.gitlab-ci.yml如下:

stages:
  - test

before_script:
    - apt-get update -yqqq
    - apt-get install -y xvfb
    - apt-get install iceweasel -yqq
    - Xvfb :99 -ac &
    - export DISPLAY=:99

test-frontend:  
  image: node:7.7.4
  stage: test
  script: 
    - npm install
    - npm install -g testcafe@0.19.2
    - testcafe --list-browsers
    - testcafe firefox e2etests/tests/login.test.js
  tags:
    - vue

所以基本上我使用节点docker映像作为我的测试“阶段”并安装xvfb来“显示”浏览器。

输出ci gitlab:

npm info ok 
$ testcafe --list-browsers
Using locally installed version of TestCafe.
firefox
$ testcafe firefox e2etests/tests/login.test.js
Using locally installed version of TestCafe.
 Running tests in:
 - Firefox 52.0.0 / Linux 0.0.0

 Try to
ERROR The Firefox 52.0.0 / Linux 0.0.0 browser disconnected. This problem may appear when a browser hangs or is closed, or due to network issues.

共有2个答案

施招
2023-03-14

要运行Firefox,还需要定义dbus:

  - Xvfb :99 -ac & 
  - export $(dbus-launch)

更新:

在 Xvfb 之前添加以下命令:

  - apt-get install -y dbus-x11

此外,请尝试下面的配置。我已经在gitlab上检查过了,它对我来说工作正常:

  stages:
    - test

  before_script:
      - apt-get update -yqqq
      - apt-get install -yqq xvfb
      - apt-get install iceweasel -yqq
      - apt-get install dbus-x11 -yqq
      - Xvfb :99 -screen 0 1280x720x24 -ac &
      - export DISPLAY=:99
      - export $(dbus-launch)

  test-frontend:  
    image: node:7.7.4
    stage: test
    script: 
      - npm install
      - npm install -g testcafe
      - testcafe --list-browsers
      - testcafe firefox e2etests/tests/login.test.js
    tags:
      - vue 

查看完整教程:将TestCafe与GitLab集成

令狐烨烨
2023-03-14

几天前,我开始采用类似的方法。但我很快意识到木偶nodeAPI来管理headless chrome是我一直在寻找的,这是将TestCafe集成到GitlabCI中的最轻松、最好的方法。

在谷歌上有很多与这个问题相关的资源,由精通技术的开发世界的Kanya West编写,这超出了我的理解范围(因为我是一个只懂简单代码的愚蠢的开发人员)。

以下是我实现目标的方式:

npm install testcafe-browser-provider-puppeteer --save-dev

npm install testcafe --save-dev

这里是gitlab-ci

test_e2e_testcafe:
  stage: test
  image: alekzonder/puppeteer
  script:
    - cd app
    - npm install
    - npm start &
    - ./node_modules/.bin/testcafe puppeteer:no_sandbox path-to-test-folder/yourtestfile.js
  except:
    - master
  tags:
    - autoscale
 类似资料:
  • 我试图弄清楚是否可以在Express.js应用程序的上下文中运行TestCafe测试。我的想法是创建一个表单,接受输入(如UPC代码),然后单击表单上的submit,它将导致TestCafe测试以无头模式(在某处)生成,并将UPC加载到此页面https://www.ebay.com/sh/research. 从那里,TestCafe将从页面获得结果并将它们粘贴到我的数据库中。 我把测试放在一个名为

  • 我面临着另一个问题。我的项目中有5个测试类(junit),它们都能够进行参数化测试。我可以用eclipse单独测试这些类,那时它工作得很好。当我通过maven(sure fire)运行它们时,它们失败了。错误消息看起来像org。朱尼特。跑步者。参数化。ParametersMethodReturnedErrorType(参数化。java:340)。请帮忙。 代码片段: 堆栈跟踪:

  • 当我在命令行中运行TestNG时,抛出异常: c:\test>java org.testng.testng testng.xml线程“main”java.lang.noClassDefounderror:com/beust/jcommander/parameterexception在java.lang.class.getDeclaredMethods0(本机方法)在java.lang.class.

  • TestCafe TestCafe是一个用于测试Web应用程序的纯Node.js端到端解决方案。 它负责所有阶段:启动浏览器,运行测试,收集测试结果和生成报告。 TestCafe不需要浏览器插件,它在所有流行的现代浏览器开箱即用。

  • 下面是我在虚拟机中使用的缩短代码。 客户端的连接部分如下: openshift配置如下: openshift中的应用程序日志显示如下: 如有任何协助,我们将不胜感激!

  • 该路径引用JRE的副本,我将用runnable.jar将其绑定到安装程序中 运行。bat文件会导致以下错误: 当我使用eclipse将应用程序导出为runnable.jar时,我选择“将所需的库打包到生成的JAR中”

  • 大家好,我正试图与下面的声纳整合,这是我面临的错误 未能在项目xxxxx上执行goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar(default-cli):无法从插件'icode'注册扩展名fr.cnes.sonar.plugin.icode.check.icodeSensor:javax/xml/bind/

  • 所有测试返回“NosuchBeanDefinitionException:没有'com.example.networkService'类型的合格bean可用:预期至少有1个bean符合autowire候选。依赖项注释:{@org.springframework.beans.factory.annotation.autowired(required=true)}” 这是配置文件application