使用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自动化过程完毕,后续的就是实践过程,可以灵活的在自己的项目中使用

posted @   逗蚂蚁  阅读(136)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示