docker和yml
version: "3"
services:
chrome:
image: selenium/node-chrome:4.1.3-20220327
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
edge:
image: selenium/node-edge:4.1.3-20220327
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
firefox:
image: selenium/node-firefox:4.1.3-20220327
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium-hub:
image: selenium/hub:4.1.3-20220327
container_name: selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
gitlab yml文件
variables:
MAVEN_OPTS: -Dmaven.repo.local=.m2/repository
.base:
except:
- tags
.base_test:
extends: .base
tags:
- docker-in-docker
image: docker/compose:latest
services:
- name: docker:dind
before_script:
- docker-compose up
stages:
- build
- test
cache:
paths:
- .m2/repository
- target
build:
image: maven:latest
stage: build
script:
- mvn clean
tags:
- docker-in-docker
test:
image: maven:latest
stage: test
script:
- mvn test
tags:
- docker-in-docker
artifacts:
paths:
- ./TestReport/*
expire_in: 7 days
测试脚本中的远程url
ChromeOptions options = new ChromeOptions();
options.setCapability("se:recordVideo", true);
driver = new RemoteWebDriver((new URL("http://docker:4444/wd/hub")), options);
执行阶段:测试时出现管道错误
/root/.cache/selenium/chromedriver/linux64/100.0.4896.60/chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
selectTemplateTest2 started!
selectTemplateTest2 skipped!
Extent Reports Version 3 Test Suite is ending!
[ERROR] Tests run: 3, Failures: 2, Errors: 0, Skipped: 1, Time elapsed: 1.7 s <<< FAILURE! - in TestSuite
[ERROR] init(templateTest.TemplateSelectorTest2) Time elapsed: 1.473 s <<< FAILURE!
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Caused by: org.openqa.selenium.WebDriverException:
Driver server process died prematurely.
Build info: version: '4.1.1', revision: 'e8fcc2cecf'
System info: host: 'runner-5ahk-ct-project-4846-concurrent-0', ip: '172.18.0.12', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-105-generic', java.version: '17.0.2'
Driver info: driver.version: ChromeDriver
[ERROR] tearDown(templateTest.TemplateSelectorTest2) Time elapsed: 0.006 s <<< FAILURE!
java.lang.NullPointerException: Cannot invoke "org.openqa.selenium.WebDriver.quit()" because "this.driver" is null
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] TemplateSelectorTest2>WorkspaceAppTestBase.init:43->TestBase.initialize:42 » SessionNotCreated
[ERROR] TemplateSelectorTest2>WorkspaceAppTestBase.tearDown:57->TestBase.browserTearDown:57 » NullPointer
有人能帮我解决这个Gitlab管道问题吗?
我已经使用docker compose yml文件将Gitlab pipeline设置为使用网格设置运行selenium测试,但似乎remoteWebdriver url连接无法使用网格设置
本地工作正常,当我有docker运行,docker组成,然后运行testng xml文件
解决方案:
更新gitlab yml文件
variables:
MAVEN_OPTS: -Dmaven.repo.local=.m2/repository
stages:
- build
- test
cache:
paths:
- .m2/repository
- target
build:
image: docker/compose:latest
stage: build
services:
- name: docker:dind
script:
- docker-compose up -d
tags:
- docker-in-docker
test:
image: maven:latest
stage: test
script:
- mvn test
tags:
- docker-in-docker
artifacts:
paths:
- ./TestReport/*
expire_in: 7 days
然后对于不能创建新的会话错误,我不得不在浏览器初始化文件中提供对组织特定远程网址的引用
此错误消息。。。
/root/.cache/selenium/chromedriver/linux64/100.0.4896.60/chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
...表示加载共享库libnss3时出错。所以它可能已经过时或者根本没有安装。
安装libnss
如下:
sudo apt-get install
apt install libnss
apt install libnss3-dev libgdk-pixbuf2.0-dev libgtk-3-dev libxss-dev
作为替代方案,您还可以:
sudo apt install libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev
搜索软件包:
apt-cache search libnss
apt-file search libnss3.so
链接到软件包:软件包搜索结果
[BUG]浏览器进程启动失败:加载共享库时出错:libnss3.so:无法打开共享对象文件
我正在编写一个在后端使用redis的C程序。 我尝试过构建/安装hiredis(make 使用以下命令行构建:gcc-v example.c-l hiredis-I/usr/local/include/hiredis/ 我尝试过的事情: pkg info hiredis返回0 通过(make)卸载/重新安装 都没有运气。 我猜我没有为gcc正确链接程序,但是文档中没有任何构建示例。 我做错了什么,
问题内容: 我正在Linux上构建C ++可执行文件。可执行文件链接到一些Boost库中。 这是我尝试运行二进制文件时的输出: 然后,我在二进制文件上运行ldd来检查依赖关系: 我不确定为什么找不到liboos_system.sl.1.45.0 SO。我今天早些时候成功构建了它。谁能解释? 问题答案: 找不到该库。 默认情况下会在中查找库,并在中指定目录。 通常,系统库(例如boost,如果通过软
问题内容: 该程序是Xenomai测试套件的一部分,可从Linux PC交叉编译为Linux + Xenomai ARM工具链。 编辑: 确定,我没有注意到.1结尾是文件名的一部分。那到底是什么意思呢? 问题答案: 更新 尽管下面我写的是关于共享库的一般答案,但我认为这类消息的最常见原因是因为您已经安装了一个软件包,但没有安装该软件包的“ -dev”版本。 好吧,这不是在说谎-该列表中没有任何内容
问题内容: 尝试导入OpenCV时,使用出现以下错误: 不确定如何解决- 尝试使用Google的新协作工具。笔记本在这里:https : //drive.google.com/file/d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing 问题答案: 通过将其作为脚本的前两行来解决此问题:
问题内容: 我正在尝试使用Ubuntu 10.04服务器,sphinx,myql2版本0.2.7和percona服务器5.5(Myslql 5.5)运行Rails两个应用程序。irb中的mysql2可以正常工作,我可以连接到数据库。这个rails 2应用程序正在另一个带有MySql 5.1的Centos服务器中工作。当我跑步时: 我得到: mysql2.so:libmysqlclient_r.so
我跟随这篇关于人工智能农业的文章与谷歌合作 https://medium.com/deepquestai/ai-in-agriculture-detecting-defects-in-apples-b246799b329c 当运行python文件时,它会给出一个错误 ImportError:libcublas.so.10.0:无法打开共享对象文件:运行时没有此类文件或目录 使用TensorFlow