尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

docker-python-chromedriver 进阶用法:目录挂载、参数传递与自定义测试工作流

docker-python-chromedriver 进阶用法:目录挂载、参数传递与自定义测试工作流 docker-python-chromedriver 进阶用法目录挂载、参数传递与自定义测试工作流【免费下载链接】docker-python-chromedriverDockerfile for running Python Selenium in headless Chrome (Python 2.7 / 3.6 / 3.7 / 3.8 / Alpine based Python / Chromedriver / Selenium / Xvfb included in different versions)项目地址: https://gitcode.com/gh_mirrors/do/docker-python-chromedriverdocker-python-chromedriver 是一个把 Python、Google Chrome 与 Chromedriver 打包进 Docker 镜像的自动化测试利器开箱即用的 Selenium 环境让你无需在本地安装浏览器驱动。不过很多新手只停留在跑通 demo的阶段其实通过目录挂载、参数传递和自定义测试工作流你能把这套方案真正用到自己的项目中。本文分享 6 个进阶技巧帮你把 docker-python-chromedriver 用得又快又稳。为什么进阶用法值得学镜像本身自带完整环境Debian 或 Alpine 基础、Python 3.6 到 3.11、Chrome 与 Chromedriver部分版本还预装了 Selenium可参考 py-debian/Dockerfile-selenium.template。但只会docker run启动容器测试脚本仍在本机、依赖仍需手动安装等于没发挥容器化优势。掌握目录挂载与参数传递后你的测试代码和镜像彻底解耦换机器、换 CI 环境都能一键复现。目录挂载让容器读写宿主机代码核心命令是-v参数把宿主机目录映射进容器工作区$ docker run -it -w /usr/workspace -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:3.9 bash-w指定容器内工作目录-v将当前目录挂载到/usr/workspace。这样你在宿主机编辑测试脚本容器内立即生效测试产生的截图、报告也能直接写回宿主机。若代码位于子目录可挂载-v $(pwd)/tests:/usr/workspace/tests只暴露需要的目录更安全清晰。参数传递环境变量与命令行两种方式方式一环境变量。用-e传入脚本内通过os.environ读取$ docker run -it -e TEST_URLhttps://example.com -e HEADLESS1 \ -w /usr/workspace -v $(pwd):/usr/workspace \ joyzoursky/python-chromedriver:3.9-selenium \ python run_tests.py方式二命令行参数。直接在镜像名后追加命令覆盖默认入口。Alpine 镜像的 shell 是sh$ docker run -it -w /usr/workspace -v $(pwd):/usr/workspace \ joyzoursky/python-chromedriver:3.9-alpine sh把 URL、登录账号、浏览器参数等通过环境变量传入同一套镜像就能跑不同环境无需改代码。自定义测试工作流从官方示例到你的脚本项目附带的 test_script.py 演示了标准写法用webdriver.Chrome(optionschrome_options)启动 headless 浏览器配置--no-sandbox、--headless、--disable-gpu等参数配合unittest组织用例。你可以直接照搬这个骨架把self.driver.get()的目标地址换成你的站点把元素定位换成业务按钮。若使用预装 Selenium 的-selenium版本镜像容器内直接python test_script.py即可普通版本先执行pip install selenium。Xvfb 系列已废弃但仍可用则需加xvfb-run --server-args-screen 0 1024x768x24前缀。不同镜像怎么选Debian 还是 AlpineDebian 系镜像兼容性最好适合跑完整测试套件对应 Dockerfile 见 py-debian/3.10/DockerfileAlpine 系体积更小、启动更快适合 CI 流水线见 py-alpine/3.10-alpine/Dockerfile。版本命名规律清晰3.9、3.9-selenium、3.9-alpine、3.9-alpine-selenium一目了然。进阶自己定制镜像版本项目通过模板批量生成各版本 Dockerfilepy-debian/Dockerfile.template 使用%%PYTHON_VERSION%%占位符py-alpine/render.sh 用 sed 批量替换生成所有版本。想加自己的依赖直接修改模板再执行bash render.sh一次改动全版本生效这正是自定义测试工作流的终极形态。小结docker-python-chromedriver 的价值不止于能跑 Selenium更在于用目录挂载解决代码同步、用参数传递实现环境隔离、用模板机制统一管理多版本镜像。从复制 test_script.py 开始按上述思路改造你就能搭建出属于自己的容器化 UI 测试流水线。想体验完整流程可先 clone 仓库git clone https://gitcode.com/gh_mirrors/do/docker-python-chromedriver再按文中命令跑通第一个用例。【免费下载链接】docker-python-chromedriverDockerfile for running Python Selenium in headless Chrome (Python 2.7 / 3.6 / 3.7 / 3.8 / Alpine based Python / Chromedriver / Selenium / Xvfb included in different versions)项目地址: https://gitcode.com/gh_mirrors/do/docker-python-chromedriver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表