IXT*_*nai 5 gitlab-ci electron spectron
我是 Gitlab CI 的新手,我正在尝试在提交时自动测试我的应用程序。
我不知道它是如何工作的,我知道它使用 docker 映像并运行您想要的命令。
我选择了 node:8 图像开始(我正在做一个电子项目,也许有更好的图像)
问题是,如果我在我的计算机上运行命令“npm test”,它运行良好并且所有测试都通过,但它不适用于 gitlab ci 作业,我不知道为什么。
我在 windows 上开发这个,docker 镜像使用 linux,这可能是一个问题吗?
错误总是发生在 ChromeDriver 上。我查了一下文件夹,发现只有一个exe,于是我下载了驱动的linux发行版,插入了。我还在运行测试之前执行驱动程序(在我的计算机中不需要,它会自动执行),但仍然出现相同的错误。
我很失落。有什么办法可以解决这个问题吗?也许另一个码头工人形象?
我的 gitlab-ci.yml:
variables:
VERSION_ID: '1.0.$CI_PIPELINE_ID'
stages:
- build
build:
image: node:8
stage: build
artifacts:
paths:
- $CI_PROJECT_DIR/dist/*.*
script:
- apt-get update
- apt-get -y install libnss3-dev
- npm install
- chmod 0777 ./node_modules/.bin/mocha
- chmod 0777 ./node_modules/electron-chromedriver/bin/chromedriver
- ./node_modules/electron-chromedriver/bin/chromedriver&
- npm test
Run Code Online (Sandbox Code Playgroud)
例如,如果您的电子应用程序是一个民意调查,那么使用 Selenium 您可以:
我在 Windows 上开发这个,而 docker 镜像使用 Linux,这可能是一个问题吗?
Windows并不是开发的最佳选择。默认浏览器“向导”安装将帮助您进行开发,但如果您升级到下一阶段“测试/生产”,则世界上没有任何像样的云提供商尝试为 selenium 测试或任何技术提供 WINDOWS。众所周知,Windows 中的 docker 支持非常差。我建议您使用https://elementary.io/来使用 linux ,这对于像我们这样的程序员来说非常酷!
我很迷失。有什么替代方法可以让这个工作吗?也许另一个泊坞窗图像?
您正在使用电子进行开发。Electron是一种“浏览器”,因此Selenium是自动化测试的最佳选择。
问题是,如果我在计算机上运行命令“npm test”,它运行良好并且所有测试都通过,但它不适用于 gitlab ci 作业,我不知道为什么。
因为您的测试代码执行视觉测试,这需要一台具有视觉浏览器及其各自的硒驱动程序的机器。
总而言之,browserstack 为您提供了一个带有大量桌面和 Android 浏览器的 selenium 服务器。只需几行代码,您的测试将在 browserstack 云中运行,您将拥有一个仪表板,其中包含结果和视频作为错误证明。
这里有一些替代方案: https: //alternative.me/browserstack
正如我所说,您将需要一台具有用户界面、浏览器、selenium 驱动程序等的机器
如果你没有机器或者 browserstack 不适合你,你可以研究一下:Headless Browser
总而言之,无头浏览器是一种在内存中实现的浏览器,因此您可以在没有用户界面(azure、amazon、google 等)的 shell 中执行测试。
无论如何,您将需要 selenium 驱动程序和其他配置来实现您的测试在没有用户界面、chrome、firefox、opera 等的机器上运行
这种方法的缺点是浏览器在内存中实现。无法识别您的 Web 或 JavaScript 的一些很酷的功能。例如:拖放效果。如果没有用户界面,这将如何工作:S?。如果只是简单的表单,无头浏览器可以帮助你。
这里有一些选项:
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |