使用selenium实现UI自动化(四)
假如有这么种场景,我们在做自动化的时候,需要对某个步骤进行调试,但是这个步骤需要很多前置条件,那么为了快速实现调试,我们应该怎么做呢?selenium提供了浏览器的debug模式,可以基于现在浏览器的情况进行下一步操作
使用步骤:
- 退出当前浏览器,关闭所有窗口
- 找到浏览器的安装路径,配置成环境变量
- 启动本地debug模式,chrome --remote-debugging-port=9888
- 编写代码
#!/usr/bin/env python # -*-coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By import pytest class TestWindow: def teardown(self): self.driver.quit() def test_liu(self): opt = webdriver.ChromeOptions() opt.debugger_address = '127.0.0.1:9888' self.driver = webdriver.Chrome(options=opt) self.driver.find_element(by=By.LINK_TEXT, value="hao123推荐").click() handles = self.driver.window_handles print("所有的窗口:{}".format(handles)) self.driver.switch_to.window(handles[1]) self.driver.find_element(by=By.LINK_TEXT, value="娱乐").click() print("第二次切换后的窗口:{}".format(self.driver.current_window_handle)) self.driver.switch_to.window(handles[0]) print("最后切换会第一个窗口:{}".format(self.driver.current_window_handle))
如上代码会在原有的浏览器上运行,这样就实现了浏览器的复用,我们在调试代码时就很方便
如何设计自己的UI自动化框架
- 梳理业务逻辑,确定好要自动化的用例
- 根据界面进行封装PO类和方法,这里自行参考selenium官网的PO设计原则,具体的代码可以先用pass代替
- 编写用例
- 实现page内的方法,与自动化框架进行结合
- 调试代码
- 把公共的方法封装到base类,优化代码
到此,基本的UI自动化过程完毕,后续的就是实践过程,可以灵活的在自己的项目中使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)