使用ChromeHeadless'--no-sandbox'问题进行业力测试

2020-08-15 21:39发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试在Jenkins管道中运行Karma测试。

我是这个主题的新手,因此我首先从Git存储库中提取了openui5-sample-app。

https://github.com/SAP/openui5-sample-app

为了在管道中运行Karma,我们需要设置ChromeHeadless标志'--no-sandbox',如下所示。

 CustomChromeHeadless:{基础:" ChromeHeadless",标志:['--no-sandbox']} 

但是,一旦我添加了以上标志,Karma测试便注定会失败。 (我正在本地运行它,而不是在詹金斯的领导下运行)

在无沙盒模式下,某些交互操作(例如,按下按钮或过滤)似乎不起作用(找不到元素)。

有人知道如何进行这项工作吗?

以下是日志的一部分。

22 05 2020 06:17:53.436:INFO [karma-server]:Karma v4.4.1服务器从http://0.0.0.0:9876/22/05/2020 06:17:53.450:INFO [启动]启动: 启动具有并发性不受限制的浏览器CustomChromeHeadless 22 05 2020 06:17:53.468:INFO [启动器]:启动浏览器ChromeHeadless 22 05 2020 06:17:56.856:INFO [HeadlessChrome 81.0.4044(Windows 10.0.0)]:在套接字DYXsRmwQeX4VNAFCAAAA上连接 ID 9827367 HeadlessChrome 81.0.4044(Windows 10.0.0):执行4之4成功(0秒/0.014秒)HeadlessChrome 81.0.4044(Windows 10.0.0):执行5之17成功(0秒/7.102秒)错误 :'2020-05-22 06:18:23.435989 15秒后无法按下Opa超时复选框这是Opa记录的内容:在3207个跟踪超时中发现0阻止-sap.ui.test.autowaiter._timeoutWaiter#hasPending AutoWaiter同步点- sap.ui.test.autowaiter._autoWaiter在页面中找到1个类型为"视图"的控件-sap.ui.test.Opa5在sap.ui中找到1个视图名为viewName'sap.ui.demo.todo.view.App'的视图。 test.Opa5基金会 d ID为" undefined"且viewName为" sap.ui.demo.todo.view.App"的视图-sap.ui.test.Opa5在视图" sap.ui.demo.todo.view"中找到了ID为" clearCompleted"的控件。 App'-sap.ui.test.Opa5控件'Element sap.m.Button #__ component1 --- app--clearCompleted''未呈现-sap.ui.test.matchers。可见1个控件中有0个满足匹配器 管道要求-sap.ui.test.pipelines.MatcherPipeline匹配器未找到控件,因此将跳过检查功能-sap.ui.test.Opa5调用堆栈:位于fnClass.iClearTheCompletedItems(http://localhost:9876/base/webapp/test /integration/pages/App.js:75:18)在Object。(http://localhost:9876/base/webapp/test/integration/TodoListJourney.js:34:9)在Object。 (http://localhost:9876/base/webapp/resources/sap/ui/test/opaQunit.js:221:21)在runTest(http://localhost:9876/base/webapp/resources/sap/ui/位于http://Test.run(http://localhost:9876/base/webapp/resources/sap/ui/thirdparty/qunit-2.js:1428:6)上的thirdparty/qunit-2.js:1442:30)。 //本地主机:98 76/base/webapp/resources/sap/ui/thirdparty/qunit-2.js:1620:12 at Object.advance(http://localhost:9876/base/webapp/resources/sap/ui/thirdparty/qunit- 2.js:1105:26)-Opa sap.ui.test.Opa'HeadlessChrome 81.0.4044(Windows 10.0.0)/base/webapp/test/integration/opaTests.qunit.html待办事项列表应删除已完成的项目,失败

最诚挚的问候,

矢竹

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试在Jenkins管道中运行Karma测试。

我是这个主题的新手,因此我首先从Git存储库中提取了openui5-sample-app。

https://github.com/SAP/openui5-sample-app

为了在管道中运行Karma,我们需要设置ChromeHeadless标志'--no-sandbox',如下所示。

 CustomChromeHeadless:{基础:" ChromeHeadless",标志:['--no-sandbox']} 

但是,一旦我添加了以上标志,Karma测试便注定会失败。 (我正在本地运行它,而不是在詹金斯的领导下运行)

在无沙盒模式下,某些交互操作(例如,按下按钮或过滤)似乎不起作用(找不到元素)。

有人知道如何进行这项工作吗?

以下是日志的一部分。

22 05 2020 06:17:53.436:INFO [karma-server]:Karma v4.4.1服务器从http://0.0.0.0:9876/22/05/2020 06:17:53.450:INFO [启动]启动: 启动具有并发性不受限制的浏览器CustomChromeHeadless 22 05 2020 06:17:53.468:INFO [启动器]:启动浏览器ChromeHeadless 22 05 2020 06:17:56.856:INFO [HeadlessChrome 81.0.4044(Windows 10.0.0)]:在套接字DYXsRmwQeX4VNAFCAAAA上连接 ID 9827367 HeadlessChrome 81.0.4044(Windows 10.0.0):执行4之4成功(0秒/0.014秒)HeadlessChrome 81.0.4044(Windows 10.0.0):执行5之17成功(0秒/7.102秒)错误 :'2020-05-22 06:18:23.435989 15秒后无法按下Opa超时复选框这是Opa记录的内容:在3207个跟踪超时中发现0阻止-sap.ui.test.autowaiter._timeoutWaiter#hasPending AutoWaiter同步点- sap.ui.test.autowaiter._autoWaiter在页面中找到1个类型为"视图"的控件-sap.ui.test.Opa5在sap.ui中找到1个视图名为viewName'sap.ui.demo.todo.view.App'的视图。 test.Opa5基金会 d ID为" undefined"且viewName为" sap.ui.demo.todo.view.App"的视图-sap.ui.test.Opa5在视图" sap.ui.demo.todo.view"中找到了ID为" clearCompleted"的控件。 App'-sap.ui.test.Opa5控件'Element sap.m.Button #__ component1 --- app--clearCompleted''未呈现-sap.ui.test.matchers。可见1个控件中有0个满足匹配器 管道要求-sap.ui.test.pipelines.MatcherPipeline匹配器未找到控件,因此将跳过检查功能-sap.ui.test.Opa5调用堆栈:位于fnClass.iClearTheCompletedItems(http://localhost:9876/base/webapp/test /integration/pages/App.js:75:18)在Object。(http://localhost:9876/base/webapp/test/integration/TodoListJourney.js:34:9)在Object。 (http://localhost:9876/base/webapp/resources/sap/ui/test/opaQunit.js:221:21)在runTest(http://localhost:9876/base/webapp/resources/sap/ui/位于http://Test.run(http://localhost:9876/base/webapp/resources/sap/ui/thirdparty/qunit-2.js:1428:6)上的thirdparty/qunit-2.js:1442:30)。 //本地主机:98 76/base/webapp/resources/sap/ui/thirdparty/qunit-2.js:1620:12 at Object.advance(http://localhost:9876/base/webapp/resources/sap/ui/thirdparty/qunit- 2.js:1105:26)-Opa sap.ui.test.Opa'HeadlessChrome 81.0.4044(Windows 10.0.0)/base/webapp/test/integration/opaTests.qunit.html待办事项列表应删除已完成的项目,失败

最诚挚的问候,

矢竹

付费偷看设置
发送
3条回答
95年老男孩
1楼 · 2020-08-15 22:22.采纳回答

某些OPA5测试似乎不适用于'--no-sandbox',因此我不得不删除该标志。

这是我解决问题的方式。

1。 将以下代码添加到我的docker映像中,以便不以root用户执行容器。

运行addgroup -S铬&& \
     adduser -S -g铬铬

 使用者chrome 

2。 将seccomp设置文件下载到我的Jenkins卷中。

https://raw.githubusercontent.com/ jfrazelle/dotfiles/master/etc/docker/seccomp/chrome.json

参考: https://hub.docker.com/r/zenika/alpine- 铬

3。 使用以下选项在docker中执行管道。

管道{
     代理商{
         dockerfile {
             args'--security-opt seccomp = /chrome.json'
         }
     }

 
哎,真难
2楼-- · 2020-08-15 22:22

你好约瑟夫,

感谢您的建议。 我将看一下 Cypress.io

关于IP地址,我没有对Karma的配置进行任何更改。

关于,
Yasutake

N-Moskvin
3楼-- · 2020-08-15 22:22

你好

如果我是你,我会看 Cypress.io 。 设置和测试您的应用程序要容易得多。


但是对于您的问题,日志中的服务器IP很奇怪:

服务器从http://0.0.0.0:9876/

启动

此致

约瑟夫

一周热门 更多>