自动化工具 有没有大佬在服务器上运行 playwright 自动化测试脚本的

王路 · 2025年05月21日 · 最后由 王路 回复于 2025年05月21日 · 908 次阅读

我在公司服务器上部署了一套测试项目,想用 playwright 执行 ui 自动化测试,本地 win 运行可以,在服务器行运行
报错如下

 开始手动执行HandExcute
/tmp/playwright-java-599071362851302508/node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/playwright-java-599071362851302508/node)
/tmp/playwright-java-599071362851302508/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/playwright-java-599071362851302508/node)
/tmp/playwright-java-599071362851302508/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/playwright-java-599071362851302508/node)
2025-05-20 16:27:33.401 ERROR 7 --- [     Api-test-3] c.w.t.handle.ui.AsyncExcuteHandleUi      : 开始执行:
总体执行失败: Failed to create driver
2025-05-20 16:27:33.402 ERROR 7 --- [     Api-test-3] c.w.t.handle.ui.AsyncExcuteHandleUi      : Test execution failed: Failed to create driver
java.lang.RuntimeException: Failed to create driver
        at com.microsoft.playwright.impl.driver.Driver.createAndInstall(Driver.java:105) ~[driver-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.impl.driver.Driver.ensureDriverInstalled(Driver.java:57) ~[driver-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.impl.PlaywrightImpl.createImpl(PlaywrightImpl.java:46) ~[playwright-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.impl.PlaywrightImpl.create(PlaywrightImpl.java:36) ~[playwright-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.Playwright.create(Playwright.java:110) ~[playwright-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.Playwright.create(Playwright.java:114) ~[playwright-1.42.0.jar!/:1.42.0]
        at com.wl.testtools.handle.ui.AsyncExcuteHandleUi.executeStartUi(AsyncExcuteHandleUi.java:39) ~[classes!/:0.0.1-SNAPSHOT]
        at com.wl.testtools.service.impl.StartApiTestServiceImpl.startApiTest(StartApiTestServiceImpl.java:134) ~[classes!/:0.0.1-SNAPSHOT]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.9.jar!/:5.3.9]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.9.jar!/:5.3.9]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.9.jar!/:5.3.9]
        at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115) ~[spring-aop-5.3.9.jar!/:5.3.9]
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
        at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.lang.RuntimeException: Failed to install browsers, exit code: 1
        at com.microsoft.playwright.impl.driver.jar.DriverJar.installBrowsers(DriverJar.java:100) ~[driver-bundle-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.impl.driver.jar.DriverJar.initialize(DriverJar.java:69) ~[driver-bundle-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.impl.driver.Driver.initialize(Driver.java:64) ~[driver-1.42.0.jar!/:1.42.0]
        at com.microsoft.playwright.impl.driver.Driver.createAndInstall(Driver.java:101) ~[driver-1.42.0.jar!/:1.42.0]
        ... 19 common frames omitted

说明一下:项目是通过 dockerfile 指定镜像 +jenkins 执行流水线 +k8s 部署
通过 ai 修改 dockerfile 文件,k8s 配置,还是运行不了,(尝试了好多种方式,)

有没有志同道合的人,来相互探讨一下

共收到 6 条回复 时间 点赞

我是使用 python 镜像的,再通过指令安装相关的 python 环境&playwright 环境,可以正常启动,碰到的问题都是浏览器启动参数带来的一些稳定性问题。
建议你直接手动启动基础容器,先在容器内部把指令调试通过,,再写完整的镜像文件。(容器内可能存在网络、下载、指令缺失等等问题)

镜像用错了

依赖冲突导致

Ali 回复

我是直接在我的测试框架上改造的,包打好了,启动不起来,感觉像是内存不够,后面再试试,原来项目 700 多 M,和 playwright 打一起就 1.4g 了

初夏 回复

我找运维把镜像下载下来了,重新打到公司仓库里了,还在试,现在镜像包 1.4g,你们的都多大

fox 回复

应该不是

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册