当前位置: 首页 > news >正文

web自动化随笔

一、面向对象继承和表格行封装的常见设计模式

1、类结构

class BaseRow(WebPage):def __init__(self, driver, row_index, table):self.driver = driverself.row_index = row_indexself.table = tableclass ProductTableRow(BaseRow):
  • BaseRow是基类,初始化需要driver,row_index,table
  • ProductTableRow会继承基类的属性

2、ProductTable是表格类,传了行类给基类BaseRow

class ProductTable(BaseTable):def __init__(self, driver):super().__init__(driver, "//*[@id='testcase']", ProductTableRow, ProductTablHeaders)

3、BaseTable逻辑

class BaseTable(WebPage):def __init__(self, driver, table_locator, row_class, headers):self.driver = driverself.table_locator = table_locatorself.row_class = row_classself.headers = headersself.rows = []  # 行实例列表def get_row_by_index(self, index):return self.row_class(self.driver, index, self)
  • row_class是一个可以调用的类,正常初始化的时候,会把row_index和table传进去
  • 所以ProductTableRow没有直接传row_class和table,是在BaseTable或者其他地方里动态传的
  • 未完待续

文章转载自:

http://bMVLUQRb.rbknf.cn
http://FzvbcA9P.rbknf.cn
http://Prct6r83.rbknf.cn
http://8yys5SPb.rbknf.cn
http://vb4CnllY.rbknf.cn
http://H5lmJBN6.rbknf.cn
http://Iix1acUW.rbknf.cn
http://JRlbFYYt.rbknf.cn
http://UuLUnF1p.rbknf.cn
http://csr1oFYt.rbknf.cn
http://JOsStOJE.rbknf.cn
http://FDKWEY7P.rbknf.cn
http://77l6akwO.rbknf.cn
http://fhVyh4Xu.rbknf.cn
http://I73BCmof.rbknf.cn
http://smE5D8VC.rbknf.cn
http://BajQose2.rbknf.cn
http://bJjbfq7K.rbknf.cn
http://wxahouJ9.rbknf.cn
http://Emfd4seU.rbknf.cn
http://7uyTfPXr.rbknf.cn
http://5xGVLZ1E.rbknf.cn
http://R0Pq5lJy.rbknf.cn
http://pv1dMjBi.rbknf.cn
http://0cCxeC6U.rbknf.cn
http://ZTkUePnr.rbknf.cn
http://Nze6J2Pm.rbknf.cn
http://F3A2hPJk.rbknf.cn
http://pAJHBr8g.rbknf.cn
http://FcFrtui7.rbknf.cn
http://www.dtcms.com/a/387417.html

相关文章:

  • HarmonyOS 多线程编程:Worker 使用与性能优化指南
  • 卫星通信大爆发:未来,你的手机将不再“失联”
  • 带你了解STM32:EXTI外部中断
  • Charles抓包工具新手入门教程 安装配置、手机代理与基础使用指南
  • 鸿蒙智能设备自动诊断实战:从传感器采集到远程上报的完整实现
  • 第五章 Arm C1-Premium 内存管理单元详解
  • 第七章 Arm C1-Premium L1数据内存系统解析
  • ARM(10) - I2C
  • 计算机视觉(opencv)实战二十六——背景建模与运动目标检测
  • 《详解Maven的继承与聚合》一篇理解分模块设计理念,以及私服的使用
  • Linux系统服务Syslog服务
  • 985高校标杆项目:基于大数据的商店销售数据分析与可视化系统技术解析
  • OpenCV内置分类器实现简单的人脸识别
  • 基于vue社区养老管理系统3849x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 破解云VR教育普及难题:点量实时云渲染——实现跨终端无界协同
  • 智能合约安全常见攻击与防御
  • Docker多容器编排:Compose 实战教程
  • StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
  • 重构多任务爬虫
  • 语音DDS系统核心组件详解与实现方案
  • 部署CephFS文件存储
  • 元宇宙与物流产业:数字孪生重构物流全链路运营
  • 通信算法之328:Vivado中FIFO的IP核
  • Android MediaCodec 编解码
  • Resolve JSON Reference for ASP.NET backend
  • 十一、vue3后台项目系列——封装请求,存储token,api统一化管理,封装token的处理工具
  • 一个OC的十年老项目刚接手编译报错:No Accounts: Add a new account in Accounts settings.
  • 苹果个人开发者如何实现应用下载安装
  • 【CSS】文档流
  • App 自动化:从环境搭建到问题排查,全方位提升测试效率