Python+selenium基于POM的简单UI框架!

web自动化测试框架搭建(python+selenium+pytest+pom+ddt) 一、selenium selenium是一个开源的web ui自动化测试工具,详细就不再过多介绍了。 二、环境搭建 关于环境搭建,非常简单,可以参考我之前的博客。selenium新手入门 三、po设计 po(pom)模式:页面对象模型,把项目中的页面,封装成一个一个类,一个页面对应一个类。再通过实例化这个类的对象,去调用类里面的属性和方法。 好处: 提高代码维护 代码重复利用 3.1 po分层 3.1.1 基础层: 基础层:放封装的selenium基础方法 代码实现: class BasePage: 3. 阅读详情

前一段时间用RobotFramework+Appium实现了安卓的UI自动化,2个人+1个月,大概写了300多条的用例,需要大约4小时全部执行完成,用于版本上线前的回归测试;由于各种各样的原因,每次执行时,用例都不能全部正确通过,执行速度慢,稳定性差,受环境影响较大,维护成本高,UI自动化的缺点很多,但是也是学习成果。

  自动化讲究思想:分层思想。由于所有的测试用例都需要优先登录系统,所以在做安卓UI自动化时,我们将系统登录和退出放在了RF的setup()和teardown()中,其他用例分为2层(测试页面元素和方法+用户逻辑)

Python资源共享群:626017123

最近在学习selenium的web测试,同样所有的测试用例都需要先登录系统,因此将登录和退出系统操作放在setUp和teardown中,如图,创建一个MyUnittest类,继承unittest.TestCase,有4个方法:

(1)setUp():每个测试方法运行前运行,测试前的初始化工作。一条用例执行一次,若N次用例就执行N次,根据用例的数量来定。

(2)setUpClass():每个class文件运行前运行,必须使用@classmethod装饰器进行修饰。

(3)tearDown():每个测试方法运行结束后运行,测试后的清理工作。一条用例执行一次,若N次用例就执行N次。

  (4)tearDownClass():每个class文件运行结束后运行,必须使用@classmethod装饰器进行修饰。

在每个测试的class执行之前,执行setUpClass()用于打开浏览器和浏览器最大化;

在class中的每个测试方法执行之前,执行setUp()用于输入url;

在class中的每个测试方法执行结束之后,执行tearDown()用于刷新浏览器;

在每个测试的class执行结束之后,执行tearDownClass()用于退出浏览器。

 

 

 

 

 

接着将公共处理的事情写在BasePage里面,用于所有页面对象的继承,可以写的公共方法很多,大家按需要写。

 

 

 

 

 

然后,具体的每一个需要测试的页面需要继承BasePage,具体的页面属性和操作在这一层定义,如若出现UI的更改,只需要修改这一层的对象即可。

 

 

 

 

 

 

最后是测试用例,测试用例继承MyUnittest,执行顺序如上述所述,每个class中可以是相同的业务测试用例,如下是对登录页面的测试:

 

 

 

 

 

这样一个简单的UI框架的完成了。如果需要测试具体的业务操作,例如登录系统之后,对某个页面进行查询的测试,具体的页面属性和方法的编写这里就不列出了,测试用例同样是继承MyUnittest,并且先执行一次登录系统操作:

 

 

 

 

 

以上是近期的总结,还存在很多不足之处,路一步一步走,慢慢完善。

python+selenium--UI自动化 pom模式封装,长幅慢更 1.库 selenium 后期 pytest 阅读详情

相关推荐

Selenium设计模式 —— POM

Python

kami_ochin_akane的博客 1179

python实现自动化web登录测试

在这个示例中,我们创建了一个名为`TestCase`的测试类,继承自`unittest.TestCase`。在`setUp`方法中,我们使用Selenium WebDriver打开了一个网页,并找到了需要输入用户名和密码的表单元素。在`test_login`方法中,我们使用Selenium模拟用户登录的过程,并在登录成功后断言页面标题是否包含“Welcome”字符串。在`if __name__ == '__main__':`语句中,我们调用`unittest.main()`方法来运行所有的测试用例。

记忆的永恒的博客 1210

web自动化pom模式

selenium+pytest 日志生成、运行错误截图、生成html报告、断言校验---; 目前实现上述功能 ,

一个基于POM模式的Web自动化测试框架

基于最近可能工作要求,和自动化脚本效率的问题上,对设计模式进行了一些了解 所以参考性的编写了一个这样的POM模式的Web自动化测试框架 如果大家有需要,可以看看,指导探讨一下 整体的文件目录 设置了公共文档的读出,在config.ini 可以把一下公共的东西,如url,账号等放进去 对公共类进行了封装为Common中basePage包 class BasePage: """测试基类""" def __init__(self, driver): ...

weixin_38637106的博客 2424

Overleaf-Latex-Elsevier-图、表、参考文献标题及引用、伪代码写法(绝对详细直观且易懂)

overleaf爱思唯尔模板踩过的一些坑以及解决办法

2403_87584552的博客 5851

生成对抗网络——CGAN(代码+理解)

CGAN(Conditional Generative Adversarial Network)模型是一种 深度学习模型,属于生成对抗网络(GAN)的一种 变体。它的 基本思想是通过 训练生成器和判别器两个网络,使生成器能够生成与给定条件 相匹配的 合成数据,而判别器则 负责区分真实数据和 生成数据。相比于GAN它引入了条件信息(y),使得生成器可以生成与给定条件相匹配的合成数据,从而提高了生成数据的可控性和针对性。

CXDNW的博客 1万+

python+selenium+unittest 执行所有测试用例脚本,只登陆一次

python selenium 执行多个py类测试用例脚本,使用同一个驱动,避免登录多次。 在自动化项目中 通常会有N个自动化场景,这个场景可能会分别写在不同的py文件中,如果在每个文件中都执行一次启动浏览器的话,会出现启动多个浏览器并且自动化停止 解决思路: 把启动浏览器的这段代码 封装成一个类,然后在不同的自动化py文件中 通过imoprt 引入 然后进行复用. 把驱动封装成一个类 from selenium import webdriver class DriverUtil: __webD

weixin_50699689的博客 3647

2026年(新服务器默认密码)最新各大厂商默认凭证大全

本文整理了国内外主流服务器厂商的默认管理接口凭证信息,包括Dell、HPE、浪潮、华为等品牌的管理接口类型、默认用户名/密码和IP地址。特别强调国产服务器在信创环境下的安全风险,指出国内厂商部分型号仍保留固定默认密码(如浪潮admin/admin),而国际厂商多采用随机密码标签。文章提供了新机初始化安全流程建议:查找机箱标签、立即修改默认密码、配置网络隔离、更新固件等。最后提醒运维人员,服务器安全应从首次上电开始重视,管理接口暴露是重大风险点,必须严格执行安全规范。

你好,旧时光! 1707

用python封装webUI自动化登录功能代码

可以参考以下步骤:1. 安装Selenium库:使用命令“pip install selenium”安装Selenium库。2. 导入Selenium:使用Python代码“from selenium import webdriver”导入Selenium模块。3. 创建WebDriver:使用命令“driver = webdriver.Chrome()”创建一个WebDriver对象。4. 打开...

weixin_35755434的博客 588

普通开普勒式望远镜光学设计1-初始结构设计选型与物镜像差校正

普通开普勒式望远镜光学设计1: 完成了望远镜的总体结构设计,确定其物镜与目镜的初始结构选型,使用Zemax软件完成望远镜的双胶合物镜的像差校正。

faust_cao的博客 1万+

高速SerDes均衡技术解析

均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。

一只豌豆象的博客 1948

Python+selenium基于POM的简单UI框架

Python+selenium基于POM的简单UI框架

爱码小哥 310

《数据结构》知识点汇总+算法代码总结【全】

写在前面:本文写于吴签时期,在家备考时刷完数据结构王道书之后想着把书中重点梳理汇总一下。本文内容包括但不局限于王道数据结构每章的知识点及其课后习题所涵盖的知识点。本人曾在大三期间打过一些程序设计类比赛,所以本文所涉及到的代码不一定局限于王道书,但思想都一样。 期末复习和备考408均可使用第一章:绪论(不在考研大纲但很重要)第二章:线性表第三章:栈和队列第四章:串第五章:树与二叉树第六章:图第七章:查找 第一章:绪论(不在考研大纲但很重要) 数据结构三要素:逻辑结构、存储结构、数据的运算;其中逻辑结构包括线

qq_44622401的博客 17万+

Python+Selenium+Pytest+POM自动化测试框架封装

1)测试框架的优点代码复用率高,如果不使用框架的话,代码会显得很冗余。可以组装日志、报告、邮件等一些高级功能。提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件。使用更灵活的PageObject设计模式。2)测试框架的整体目录【注意】 init.py 文件用以标识此目录为一个python包。

huace3740的博客 1429

AI游戏制作07——波次计时器,敌人按波次生成

AI游戏制作07——波次计时器,敌人按波次生成

qq_40572023的博客 47

基于STM32设计的水下水质检测装置(微信小程序)(205)

本项目设计了一款基于STM32微控制器为核心的水下水质检测设备,该设备具有高度集成化、智能化的特点,能够实时监测水深、温度、浊度及溶解性总固体(TDS)等关键水质参数,并通过4G网络将数据上传至腾讯云IOT物联网平台,实现远程监控和数据分析。同时,为了便于操作和移动观测,还配套开发了微信小程序,用户可通过微信小程序实时查看并控制设备的各项功能,如调整下潜深度等。

1252

Python Selenium设计模式 —— POM

前言 本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点、应用场景和核心思想有一定的理解和掌握。 为什么要用POM 基于python selenium2开始UI级自动化测试并不是多么艰巨的任务。只需要定位到元素,执行对应的操作即可。下面我们看一下这个简单的脚本实现百度搜索。 from selenium import webdriver import time driver = webdriver.Firefox() driver.i

1859

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

框架退出的方法_Python+selenium基于POM的简单UI框架

前一段时间用RobotFramework+Appium实现了安卓的UI自动化,2个人+1个月,大概写了300多条的用例,需要大约4小时全部执行完成,用于版本上线前的回归测试;由于各种各样的原因,每次执行时,用例都不能全部正确通过,执行速度慢,稳定性差,受环境影响较大,维护成本高,UI自动化的缺点很多,但是也是学习成果。自动化讲究思想:分层思想。由于所有的测试用例都需要优先登录系统,所以在做安卓UI...

weixin_34129222的博客 285

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python Selenium UI自动化测试实战:从环境搭建到POM框架设计

UI自动化测试是现代软件工程中提升测试效率与可靠性的关键技术,其核心原理是通过程序模拟真实用户操作,实现回归测试的自动化执行。在众多实现方案中,Python与Selenium的组合因其简洁语法和强大生态,成为构建高效、可维护自动化测试套件的首选。该技术能显著提升测试覆盖率和一致性,是实施测试左移、保障交付质量的重要实践。本文聚焦于Python Selenium,深入解析其环境搭建、核心操作、等待机制等关键环节,并引入Page Object Model设计模式,旨在解决元素定位不稳定、脚本维护成本高等工程难题

weixin_28829479的博客 340

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Python+Selenium+Pytest+POM自动化测试框架封装详解

1)测试框架的优点代码复用率高,如果不使用框架的话,代码会显得很冗余。可以组装日志、报告、邮件等一些高级功能。提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件。使用更灵活的PageObject设计模式。2)测试框架的整体目录【注意】 init.py 文件用以标识此目录为一个python包。

huace3740的博客 957

Python Selenium设计模式-POM

POM是selenium webdriver自动化测试实践对象库设计模式POM使得测试脚本更易于维护POM通过对象库方式进一步优化了元素、用例、数据的维护组织。

NHB234567的博客 863

Python Selenium设计模式POM及代码实现

下方查看历史精选文章重磅发布 - 自动化框架基础指南pdf大数据测试过程、策略及挑战测试框架原理,构建成功的基石在自动化测试工作之前,你应该知道的10条建议在自动化测试中,重要的不是工具微信搜一搜 或 长按加群开源优测前言本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点、应用场景和核心思想有一定的理解和掌握。为什么要用POM基于py...

开源优测 818

Python Selenium设计模式-POM_python selenium pom

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。学习Python常用的开发软件都在这里了,给大家节省了很多时间。print u"打开首页: “, self.base_url。print u"输入搜索关键字: 开源优测 "print u"点击 百度一下 按钮"

2401_84140442的博客 677
上一篇: Python 神工具包!翻译、文字识别、语音转文字统统搞定!
下一篇: Python+selenium基于POM的简单UI框架
普通网友
博客等级 码龄7年 438粉丝 263原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值