Selenium 远程调试 Chrome
一、引言
用Selenium 远程调试 Chrome有以下好处:
-
提高测试效率和准确性:如果您的应用程序是在云环境中部署的,您需要能够模拟客户端环境,并与其进行交互。使用远程计算机可以提供更多的配置选项,使您能够更容易地模拟不同操作系统、浏览器和网络环境,从而提高测试效率和准确性。
-
方便多平台测试:测试员通常需要在多个操作系统和浏览器上执行测试。使用远程计算机可以方便地在不同平台上运行测试,而无需为每个平台购买硬件设备或安装软件。
-
提高测试效率:作为软件测试人员,在自动化测试过程中,经常会需要登陆页面,而登陆一般操作非常复杂,比如:扫码、验证码、图片等等,调试自动化程序时,经常会因为登陆,影响效率,此时用远程调式的方式,可以直接复用手动打开的已成功登陆的网站,我们只需要在此基础上运行程序、调试程序,大大提高了开发效率。
二、配置参数
1、浏览器路径
首先,打开浏览器,在地址栏输入 chrome://version
并记录下Chrome 浏览器应用程序的完整路径,如下所示:
C:\Program Files\Google\Chrome\Application\chrome.exe
2、命令启动浏览器
接下来,在 CMD 终端中通过命令行启动 Chrome 浏览器
cd C:\Program Files\Google\Chrome\Application && chrome.exe --remote-debugging-port=9222 --user-data-dir=“D:\selenum\user_data”
注意:
-
--remote-debugging-port:指定浏览器调试端口号,这里可以随机指定一个端口号,不要指定为已经被占用的端口号。
-
--user-data-dir:用户配置文件目录,这里需要单独指定一个文件夹目录(不存在会新建),如果不显式指定该参数,运行会污染浏览器默认的配置文件。
然后,可以看到浏览器已经打开
3、手动操作浏览器
然后,在 Chrome 浏览器中,打开 https://www.cnblogs.com/ 网站并登录
最后,我们就可以不用在自动化程序中做登陆的操作,直接可以做后续的操作。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
def test_boke():
# 创建带有调试模式的 Chrome WebDriver 实例
options = Options()
options.debugger_address = "127.0.0.1:9222"
# 下载driver并放置在本目录中,若在环境变量中配置了此目录,那就可以不用Service
s = Service(r"F:\webdriver\chromedriver.exe")
driver = webdriver.Chrome(service=s, options=options)
# 打开登录页面
driver.get('https://www.cnblogs.com/xyztank/articles/17319895.html')
# 等待登录完成
driver.implicitly_wait(10)
time.sleep(5)
# 打印当前页面标题和 URL
print(driver.title)
print(driver.current_url)
# # 关闭浏览器
# driver.quit()
三、参考资料
1、ChromeOptions: https://sites.google.com/a/chromium.org/chromedriver/capabilities
2、driver下载地址:https://www.selenium.dev/zh-cn/documentation/getting_started/installing_browser_drivers/
3、driver下载镜像地址:https://registry.npmmirror.com/binary.html?path=chromedriver/