在当前浏览器中调试自动化脚本

2022-11-13 13:32:36 浏览数 (1)

0、引子

       做WEB自动化测试时,绕不开登录操作,但是如果只是想测试登录外的其它操作,或者对其它功能的自动化用例进行调试,不想每次调试,都要从登录重新来一遍,那么这种方法将非常合适。

1、环境变量

1.1 添加PATH

       Windows环境中需要将chrome浏览器程序添加到环境变量 PATH 中。

       查看chrome浏览器启动程序所在的目录

       右击浏览器图标,选择“属性”

       将“起始位置”中的内容复制出来。

       进入到“系统属性”-->“环境变量”-->“系统变量”,打开“Path”设置,将上一步复制的目录粘贴进去,一路确定即可。

1.2 下载浏览器驱动

chromedriver是使用代码控制浏览器的驱动程序,可从淘宝镜像网站下载:

http://npm.taobao.org/mirrors/chromedriver/ 需要选择与浏览器版本一致的驱动。

将下载下来的 chromedriver.exe 放到 python的安装根目录,方便python程序在执行时找到它。

2、启动浏览器并执行登录操作

2.1 启动

在命令行中启动浏览器,并指定运行的端口号及存放运行数据的目录,避免影响到原有浏览器相关数据。

打开命令行,输入如下内容:

代码语言:javascript复制
chrome.exe --remote-debugging-port=12306 --user-data-dir="E:chrome_temp_dir"

参数说明:

--remote-debugging-port 指定要运行的端口号,只要没有被占用就行,可任意指定,原则上应该在 1024~65535之间

--user-data-dir 为避免影响到原有浏览器存储的数据,这里需要指定一个运行数据存放的目录,相当于将两者物理隔离。

回车后浏览器被启动

2.2 登录

进入到CSDN并登录

 登录后进入到首页

3、在已打开的浏览器中执行脚本

3.1 编写脚本

代码语言:javascript复制
# -*-coding:utf8 -*-

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 将脚本运行在指定端口号的浏览器上
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:12306")
driver = webdriver.Chrome(options=chrome_options)
print(driver.title)
# 跳转到消息管理页面
ele = driver.find_elements_by_xpath('//a[@id="toolbar-remind"]/span')
ele[0].click()

3.2 执行

执行脚本后,该浏览器已由首页跳转到了消息管理页面

0 人点赞