Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Docker:如何使用selenium服务器做nightwatchJS测试?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道如何使用我的NodeJS应用程序运行一个硒服务器,它的文件位于自定义e2e的./bundle文件夹中:最新的docker映像.

我想我必须将selenium服务器和webdriver chrome添加到e2e的Docker文件中:最新的图像,不是吗?

这是我到目前为止所做的

我已经用NodeJS和nightwatchJS创建了一个基于java的8-jre的docker映像:

Dockerfile

FROM java:8-jre

## Node.js setup
RUN curl -sL https://deb.nodesource.com/setup_4.x | bash -
RUN apt-get install -y nodejs

## Nightwatch
RUN npm install -g nightwatch

然后将该图像用于测试:

gitlab-ci.yml

build:
  stage: build
  tags:
    - deploy
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - meteor npm install --production
    - meteor build $PACKAGE_PATH --directory
    # Maybe something like...? - docker build -t $CI_REGISTRY_IMAGE:e2e .

nightwatch:
  image: e2e:latest
  stage: e2e
  tags:
    - e2e
  before_script:
    - cd ./bundle
  script:
    - nightwatch

配置如下所示:

nightwatch.conf.js

module.exports = {
    'src_folders'           : ['test/e2e'],'output_folder'         : 'reports','custom_commands_path'  : '','custom_assertions_path': '','page_objects_path'     : '','globals_path'          : '','test_runner'           : {
        'type'   : 'mocha','options': {
            'ui'      : 'bdd','reporter': 'list'
        }
    },'selenium': {
        'start_process': false,'server_path'  : '','log_path'     : '','host'         : '127.0.0.1','port'         : 4444,'cli_args'     : {
            'webdriver.chrome.driver': './bin/chromedriver'
        }
    },'test_settings': {
        'default': {
            'launch_url'   : 'http://localhost','selenium_port': 4444,'selenium_host': 'localhost','silent'       : true,'screenshots'  : {
                'enabled': true,'path'   : 'reports/error-screenshots'
            },'desiredCapabilities': {
                'browserName'      : 'chrome','javascriptEnabled': true,'acceptSslCerts'   : true
            }
        },'chrome': {
            'desiredCapabilities': {
                'browserName'      : 'chrome','acceptSslCerts'   : true
            }
        }
    }
}

解决方法

不知道这是否适合Gitlab CI,但是请查看 Selenoid项目.这是一个小(6 Mb)的二进制文件,可以在单独的Docker容器中启动浏览器,也可以直接启动Webdriver进程.因此,如果容器方法不适合您的需要,请尝试包装Selenoid Chromedriver Chrome与Node.js相同的容器使用Selenoid时不需要安装Java.

大佬总结

以上是大佬教程为你收集整理的node.js – Docker:如何使用selenium服务器做nightwatchJS测试?全部内容,希望文章能够帮你解决node.js – Docker:如何使用selenium服务器做nightwatchJS测试?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: