从零开始的自动化测试
Selenium 环境
Selenium是一个通过控制浏览器,实现基于浏览器的网页自动化测试框架,支持Python、Java等语言操作脚本。
浏览器驱动程序 webdriver
为了控制浏览器,你需要为不同类型的浏览器安装对应的驱动程序(webdriver)
或者在这个镜像下载你的chrome对应版本chromedriver。
下载后把chromedriver放入环境变量PATH中。
mac chromedriver
1 | mv chromedriver /usr/local/bin |
最新版的mac可能会出现打不开的情况,这时候你在finder找到chromedriver这个文件,点击出现菜单,按着command键点击菜单第一项”打开”。然后弹出来的确认一路点是,只要能这样打开一次,之后就都能打开了
之后正常打开应该显示:
1 | Starting ChromeDriver 92.0.4515.43 (8c61b7e2989f2990d42f859cac71319137787cce-refs/branch-heads/4515@{#306}) on port 9515 |
Selenium Docker环境
⚠️ 这个docker里面的chrome不支持apple m1环境
使用docker的优势是不需要自己下载webdriver和更新webdriver对应版本。
推荐在企业级CI/CD中使用docker selenium,方便环境隔离和启动。
1 | docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" --env VNC_NO_PASSWORD=1 selenium/standalone-chrome:latest |
默认并发session只有1个,以下命令支持五个并发
1 | docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" --env VNC_NO_PASSWORD=1 --env SE_NODE_MAX_SESSIONS=5 --env SE_NODE_OVERRIDE_MAX_SESSIONS=true selenium/standalone-chrome:latest |
通过预定义的docker镜像,创建一个支持chrome浏览器的selenium测试环境。
本地暴露7900端口作为观看测试的页面
Python虚拟环境
创建虚拟环境
1 | python3 -m venv webdriver |
进入虚拟环境
1 | source webdriver/bin/activate |
安装依赖库
1 | # selenium 依赖库 |
退出虚拟环境
1 | source webdriver/bin/deactivate |
从零开始
本地浏览器打开百度
1 | from selenium import webdriver |
远程浏览器(docker等)打开百度
如果端口是4444的话
1 | from selenium import webdriver |