一个项目有两个pom_Python Selenium设计模式之POM设计模式
POM简介、POM优势、如何设计POM
POM简介
Page Object Model (POM) 直译为“页面对象模型”,这种设计模式旨在为每个待测试的页面创建一个页面对象(class),将那些繁琐的定位操作封装到这个页面对象中,只对外提供必要的操作接口,是一种封装思想。
POM是什么
页面根据系统或者模块来管理
例如:xx系统或模块,涉及到哪几个页面
元素根据页面来进行管理
例如:测试xx页面,需要用到哪些元素
POM的优势
为什么要使用POM
少数的自动化测试用例维护起来看起来是很容易的。但随着时间的迁移,测试套件将持续的增长。脚本也将变得越来越臃肿庞大。如果变成我们需要维护10个页面,100个页面,甚至1000个呢?而且页面元素很多是公用的。那页面元素的任何改变都会让我们的脚本维护变得繁琐复杂,而且变得耗时易出错。
POM好处有哪些?
让UI自动化更早介入项目中,可项目开发完再进行元素定位的适配与调试
POM 将页面元素定位和业务操作流程分开,分离了测试对象和测试脚本.
如果UI页面元素更改,测试脚本不需要更改,只需要更改页面对象中的某些代码就可以
POM能让我们的测试代码变得可读性更好,高可维护性,高复用性,
可多人共同维护开发脚本,利于团队协作
如何设计POM
页面对象模型(POM)是一种设计模式,用来管理维护一组web元素集的对象库
在POM下,被测项目的每一个页面都有一个对应的page class
每一个page class维护着该web页的元素定位集和
每一个page class维护着该web页的操作这些元素的方法
login_page.py 文件,作用是管理登录页面的元素
common.py文件,作用是封装一些常用的方法,比如等待,发送信息等
TestCase测试用例
一个项目有两个pom_Python Selenium设计模式之POM设计模式相关推荐
- vue项目跨域的问题(一个项目对接两个不同的域名、端口接口导致跨域,最好的办法是后端解决)
vue项目跨域的问题前端解决方法(一个项目对接两个不同的域名.端口接口导致跨域,最好的办法是后端解决) 前端解决方法: ①打开config文件---->index.js文件,找到 proxyTa ...
- 一个项目有两个pom_实现一个Spring Boot Starter超简单,读 Starter 源码也不在话下...
Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...
- 一个项目中两台西门子S7-1500CPU之间的TCP通信组态
西门子S7-1500 与 S7-1500 之间的以太网通信可以通过 TCP 或 ISO on TCP 协议来实现,使用的通信指令是在双方 CPU 调用 T-block (TSEND_C, TRCV_C ...
- 项目经理怎么在两周内熟悉一个项目的业务?
项目经理空降到一个进行中的项目,怎么在两周内熟悉一个项目的业务? 四步帮你解决:明确项目业务目标,了解系统功能模块,弄清系统核心业务流程,多使用系统. 一.明确项目业务目标 明确项目业务目标,也就是了 ...
- 一个网卡配置两个不同网段的IP地址(比如应用道闸项目)
1. 一个网卡配置两个不同网段的IP地址(比如应用道闸项目) 近期做的项目中,应用到了道闸,需要获取到道闸的车辆进出实时信息,但是道闸是配的自己的局域网,连接道闸的PC也只有一个网卡,所以常规操作是不 ...
- 太恐怖了 两天搞定一个项目 Java Web MVC 网络商城教程+源代码
两天搞定一个项目 Java Web MVC 网络商城教程+源代码 最近自学做了一个网络商城将以下是代码和教程 环境搭建–数据库设计–页面设计-后台设计 本项目使用的jdk版本是 运行项目前需要先配置好 ...
- 一个项目中不能同时出现两个main函数
在写两个短程序的时候想着把两个cpp文件放到同一个项目中比较省空间,然后就出现了下面的问题:main函数已经定义过,然后将项目中的一个含有main函数的cpp文件删除之后再运行,可以运行 原因大概是m ...
- 在C++中同一个项目下两个.cpp文件中都用到main函数时,C++编译器会进行如下提示1.LNK2005_main 已经在 写文件.obj 2.LNK1169 找到一个多个多重定义的符号。
本文在参考嘞一下博主的文章后进行了一个问题与答案的汇总. 学习C++过程中 出现了error LNK2005: _main 已经在 源.obj 中定义 原因:当前工程里定义了两个main()主函数,在 ...
- 2021-03-03:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。给你每一个项目开始的时间和结束的时间 。你来安排宣讲的日程,要求会议室进行的宣讲的场次最多。 返回最多的宣讲场次。
2021-03-03:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲.给你每一个项目开始的时间和结束的时间 .你来安排宣讲的日程,要求会议室进行的宣讲的场次最多. 返回最多的宣讲场次. ...
最新文章
- 难以置信的目标检测小妙招:多训练几个epochs,平均一下就能获得更好的模型...
- 优秀!一鼓作气学会“一致性哈希”,就靠这 18 张图了
- 和封神一起“深挖”Spark
- 德赛西威与智驾科技MAXIEYE发布“九逵计划”,部署商用车自动驾驶技术及服务...
- 各种好用的代码生成器
- 基于环信sdk的陌生人交友php服务器代码开源
- ResourceManager里面Trackingui需要手动该ip
- java项目命令编译,打包,运行
- c语言 更新学生信息,求学生信息管理系统C语言版
- Java面向对象之多态(向上、向下转型) 入门实例
- 豆瓣评分8.0以上数据分析R、MySQL、Python等书籍,45本包邮送到家
- 在win7物理机,使用vmware,3台centos7系统,分别部署httpd,php-fpm,mariadb
- si4745 FM-AM-SW 音量控制芯片 驱动详解
- SOFTICE 初使用
- php 并列排名,MySQL并列排名和顺序排名查询
- Python进行Excel数据统计
- 华为手机开发人员选项哪里去了
- R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型
- 用JAVA代码利用坐标构造三角形、椭圆、直线并求其周长、面积
- VISTA或WIN7下使用立体声混音作为录音来源时,如何通过编程方式去除或加入麦克风的输入