如何在VCR(虚拟机)环境中运行Selenium自动化脚本?
在受限VCR虚拟机环境运行Java+Cucumber+Selenium自动化脚本的可行方案
一、基础环境配置
- 匹配本地的JDK版本:在VCR虚拟机安装与本地脚本一致的JDK,配置
JAVA_HOME和PATH环境变量,执行java -version和javac -version验证配置生效 - 同步依赖包:如果VCR无法访问外网,提前将本地Maven/Gradle仓库中的依赖包复制到虚拟机的对应仓库目录(如
~/.m2/repository),确保构建工具能正常加载依赖 - 安装构建工具:部署Maven或Gradle到虚拟机,版本与本地保持一致
二、浏览器与驱动适配
- 安装对应版本的浏览器:在VCR中安装和本地测试相同版本的Chrome/Firefox等浏览器,避免版本不兼容问题
- 匹配浏览器驱动:下载与浏览器版本严格对应的ChromeDriver/GeckoDriver,放置在虚拟机的系统PATH目录,或在脚本中指定绝对路径:
// Chrome驱动配置示例 System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver"); - 无头模式配置(针对无桌面的VCR环境):
// Chrome无头模式设置 ChromeOptions options = new ChromeOptions(); options.addArguments("--headless=new"); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); WebDriver driver = new ChromeDriver(options);
三、脚本部署与运行
- 同步脚本文件:通过虚拟机共享文件夹、内部文件传输工具将本地的
.feature用例文件、Step定义类、配置文件全部复制到VCR的指定目录 - 调整路径配置:将脚本中涉及的本地绝对路径替换为VCR内的路径(优先使用相对路径,避免环境切换报错)
- 执行脚本:在VCR的终端中运行构建命令:
- Maven:
mvn test(需确保pom.xml已配置Cucumber测试插件) - Gradle:
gradle test
- Maven:
四、权限与网络验证
- 权限检查:确保运行脚本的用户拥有脚本目录的读写权限,以及浏览器、驱动文件的执行权限
- 网络验证:在VCR中通过浏览器或
curl命令测试能否正常访问目标内部应用,确保网络连通性无问题
内容的提问来源于stack exchange,提问作者Akshay
相关产品推荐
相关产品推荐

