Selenium 远程调试 Chrome

一、引言

用Selenium 远程调试 Chrome有以下好处:

  1. 提高测试效率和准确性:如果您的应用程序是在云环境中部署的,您需要能够模拟客户端环境,并与其进行交互。使用远程计算机可以提供更多的配置选项,使您能够更容易地模拟不同操作系统、浏览器和网络环境,从而提高测试效率和准确性。

  2. 方便多平台测试:测试员通常需要在多个操作系统和浏览器上执行测试。使用远程计算机可以方便地在不同平台上运行测试,而无需为每个平台购买硬件设备或安装软件。

  3. 提高测试效率:作为软件测试人员,在自动化测试过程中,经常会需要登陆页面,而登陆一般操作非常复杂,比如:扫码、验证码、图片等等,调试自动化程序时,经常会因为登陆,影响效率,此时用远程调式的方式,可以直接复用手动打开的已成功登陆的网站,我们只需要在此基础上运行程序、调试程序,大大提高了开发效率。

二、配置参数

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/

4、https://juejin.cn/post/7065332903831404552

posted @ 2023-04-17 20:44  xyztank  阅读(979)  评论(0编辑  收藏  举报