Karate 空手道:如何实现——sudo使用linux时没有沙盒头

Karate 空手道:如何实现——sudo使用linux时没有沙盒头,karate,Karate,我想在jenkins中为UI测试自动化设置一个无头chrome驱动程序 但是要运行test命令 sudo -E java -jar karate-0.9.3.jar karate_GUI.feature sudo -E java -jar karate-0.9.3.jar karate_GUI.feature 我必须以root用户的身份运行,并且它不需要沙箱,如果我没有错的话,它在v0.9.3中仍然不受支持 如果可能的话,我如何包括--无沙箱选项 我检查过了,没有沙箱选项 我的功能配置: F

我想在jenkins中为UI测试自动化设置一个无头chrome驱动程序

但是要运行test命令

sudo -E java -jar karate-0.9.3.jar karate_GUI.feature
sudo -E java -jar karate-0.9.3.jar karate_GUI.feature
我必须以root用户的身份运行,并且它不需要沙箱,如果我没有错的话,它在v0.9.3中仍然不受支持

如果可能的话,我如何包括--无沙箱选项

我检查过了,没有沙箱选项

我的功能配置:

Feature: message end-point
Background:
* configure driver = { type: 'chrome', executable: '/usr/bin/google-chrome', headless: true }
# Login Url
* def browserManagementUrl = 'http://localhost:8000/login/'

Scenario: GUI Testing for Login page
    Given driver browserManagementUrl
    And eval driver.input('input[name=name]', 'admin')
    And eval driver.input('input[name=password]', 'adminadmin')
    And driver.submit('#login-button')
    When driver.submit('#login-button')
    Then match driver.location == 'http://localhost:8000/select/'
linux命令及其结果

07:15:56.296[main]INFO com.intuit.karate.main-空手道版本:0.9.3
07:15:57.345[ForkJoinPool-1-worker-1]警告com.intuit.karate-跳过引导配置:无法找到或读取文件:classpath:karate-config.js
07:15:57.418[chrome_1560323757416]调试c.i.k.driver.chrome_1560323757416-命令:[/usr/bin/google chrome,--远程调试端口=9222,--无首次运行,--用户数据目录=/var/jenkins_home/workspace/my karate_GUI@2/集成/目标/chrome_1560323757416,--禁用弹出窗口阻止,--无头]
07:15:57.419[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-端口准备就绪的轮询尝试#0-本地主机:9222
07:15:57.420[chrome_1560323757416]调试c.i.k.driver.chrome_1560323757416-环境路径:/sbin:/bin:/usr/sbin:/usr/bin
07:15:57.423[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-睡眠时间为毫秒:250
07:15:57.674[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-端口准备就绪的轮询尝试#1-本地主机:9222
07:15:57.675[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-睡眠时间为毫秒:250
07:15:57.793[chrome_1560323757416]调试c.i.k.driver.chrome_1560323757416-[0612/071557.791933:错误:zygote_host_impl_linux.cc(89)]以root身份运行,不支持任何沙盒。看见https://crbug.com/638180.
07:15:57.810[Chrome1560323757416]调试c.intuit.karate.shell.CommandThread-命令完成,退出代码:1-[/usr/bin/google-chrome,--远程调试端口=9222,--无首次运行,--用户数据目录=/var/jenkins_home/workspace/my-karate_GUI@2/集成/目标/chrome_1560323757416,--禁用弹出窗口阻止,--无头]
07:15:57.926[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-端口准备就绪的轮询尝试#2-本地主机:9222
07:15:57.927[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-睡眠时间为毫秒:250
07:15:58.178[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-端口准备就绪的轮询尝试#3-本地主机:9222
[...]
07:16:02.206[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-轮询尝试#19端口准备就绪-本地主机:9222
07:16:02.207[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-睡眠时间为毫秒:250
07:16:02.848[ForkJoinPool-1-worker-1]调试c.i.k.driver.chrome_1560323757416-请求:
1>获取http://localhost:9222/json
1>接受编码:gzip,deflate
1>连接:保持活动状态
1>主机:本地主机:9222
1>用户代理:Apache HttpClient/4.5.5(Java/1.8.0_212)
07:16:02.862[ForkJoinPool-1-worker-1]错误c.i.k.driver.chrome_1560323757416-org.apache.http.conn.HttpHostConnectException:连接到本地主机:9222[localhost/127.0.0.1]失败:连接被拒绝(连接被拒绝),URL的http调用在13毫秒后失败:http://localhost:9222/json
07:16:02.863[ForkJoinPool-1-worker-1]错误c.i.k.driver.chrome_1560323757416-http请求失败:
org.apache.http.conn.HttpHostConnectException:连接到本地主机:9222[localhost/127.0.0.1]失败:连接被拒绝(连接被拒绝)
07:16:02.918[pool-1-thread-1]INFO com.intuit.karate.Runner-功能1/1:karate\u GUI.feature
---------------------------------------------------------
功能:空手道GUI.feature
报告:target/karate_GUI.json
场景:1 |通过:0 |失败:1 |时间:5.4993
---------------------------------------------------------
空手道版本:0.9.3
======================================================
运行时间:6.39 |线程数:1 |线程时间:5.50
功能:1 |忽略:0 |效率:0.86
场景:1 |通过:0 |失败:1
======================================================
失败的功能:
空手道图形:空手道图形。特点:8-
org.apache.http.conn.HttpHostConnectException:连接到本地主机:9222[localhost/127.0.0.1]失败:连接被拒绝(连接被拒绝)
线程“main”picocli中出现异常。命令行$ExecutionException:存在测试失败
com.intuit.karate.Main$1.handleExecutionException(Main.java:133)
位于picocli.CommandLine.parseWithHandlers(CommandLine.java:1157)
位于com.intuit.karate.Main.Main(Main.java:139)

我想你确实知道UI自动化部分仍处于试验阶段,是的,我认为我们不支持
——无沙盒
——请随意打开一个标签,并提供一些链接来帮助我们了解为什么需要它,它做什么等

建议的解决方法是,您可以将批处理文件作为
可执行文件
键传递给调用。在这个批处理文件中,您可以使用所需的任何自定义参数或参数调用chromedriver可执行文件

一定要让我们知道这是否有效。在我看来,传递任何自定义标志的方法都是必需的功能,请将其添加到您的功能请求中


编辑:对于那些将来登陆这里的人,我不是100%确定,但是这里的信息可能会有帮助:

我想你知道UI自动化部分仍然是实验性的,是的,我认为我们不支持
--没有沙箱-
-请随意打开一张票,并通过一些链接帮助我们了解为什么需要它,它做什么等

建议的解决方法是,您可以将批处理文件作为
可执行文件
键传递给调用。在这个批处理文件中,您可以使用所需的任何自定义参数或参数调用chromedriver可执行文件

一定要让我们知道这是否有效。在我看来,传递任何自定义标志的方法都是必需的功能,是吗
07:15:56.296 [main] INFO  com.intuit.karate.Main - Karate version: 0.9.3
07:15:57.345 [ForkJoinPool-1-worker-1] WARN  com.intuit.karate - skipping bootstrap configuration: could not find or read file: classpath:karate-config.js
07:15:57.418 [chrome_1560323757416] DEBUG c.i.k.driver.chrome_1560323757416 - command: [/usr/bin/google-chrome, --remote-debugging-port=9222, --no-first-run, --user-data-dir=/var/jenkins_home/workspace/my-karate_GUI@2/integrations/target/chrome_1560323757416, --disable-popup-blocking, --headless]
07:15:57.419 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - poll attempt #0 for port to be ready - localhost:9222
07:15:57.420 [chrome_1560323757416] DEBUG c.i.k.driver.chrome_1560323757416 - env PATH: /sbin:/bin:/usr/sbin:/usr/bin
07:15:57.423 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - sleeping for millis: 250
07:15:57.674 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - poll attempt #1 for port to be ready - localhost:9222
07:15:57.675 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - sleeping for millis: 250
07:15:57.793 [chrome_1560323757416] DEBUG c.i.k.driver.chrome_1560323757416 - [0612/071557.791933:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
07:15:57.810 [chrome_1560323757416] DEBUG c.intuit.karate.shell.CommandThread - command complete, exit code: 1 - [/usr/bin/google-chrome, --remote-debugging-port=9222, --no-first-run, --user-data-dir=/var/jenkins_home/workspace/my-karate_GUI@2/integrations/target/chrome_1560323757416, --disable-popup-blocking, --headless]
07:15:57.926 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - poll attempt #2 for port to be ready - localhost:9222
07:15:57.927 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - sleeping for millis: 250
07:15:58.178 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - poll attempt #3 for port to be ready - localhost:9222
[...]
07:16:02.206 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - poll attempt #19 for port to be ready - localhost:9222
07:16:02.207 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - sleeping for millis: 250
07:16:02.848 [ForkJoinPool-1-worker-1] DEBUG c.i.k.driver.chrome_1560323757416 - request:
1 > GET http://localhost:9222/json
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Host: localhost:9222
1 > User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_212)

07:16:02.862 [ForkJoinPool-1-worker-1] ERROR c.i.k.driver.chrome_1560323757416 - org.apache.http.conn.HttpHostConnectException: Connect to localhost:9222 [localhost/127.0.0.1] failed: Connection refused (Connection refused), http call failed after 13 milliseconds for URL: http://localhost:9222/json
07:16:02.863 [ForkJoinPool-1-worker-1] ERROR c.i.k.driver.chrome_1560323757416 - http request failed:
org.apache.http.conn.HttpHostConnectException: Connect to localhost:9222 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
07:16:02.918 [pool-1-thread-1] INFO  com.intuit.karate.Runner - <<fail>> feature 1 of 1: karate_GUI.feature
---------------------------------------------------------
feature: karate_GUI.feature
report: target/karate_GUI.json
scenarios:  1 | passed:  0 | failed:  1 | time: 5.4993
---------------------------------------------------------
Karate version: 0.9.3
======================================================
elapsed:   6.39 | threads:    1 | thread time: 5.50
features:     1 | ignored:    0 | efficiency: 0.86
scenarios:    1 | passed:     0 | failed: 1
======================================================
failed features:
karate_GUI: karate_GUI.feature:8 -
org.apache.http.conn.HttpHostConnectException: Connect to localhost:9222 [localhost/127.0.0.1] failed: Connection refused (Connection refused)

Exception in thread "main" picocli.CommandLine$ExecutionException: there are test failures
    at com.intuit.karate.Main$1.handleExecutionException(Main.java:133)
    at picocli.CommandLine.parseWithHandlers(CommandLine.java:1157)
    at com.intuit.karate.Main.main(Main.java:139)