今天的学习笔记(待整理)

框架:

1.PO模式应用(测试对象和测试用例分离)(写到简历中)

2.引入ddt

3.深入分层:测试数据分离

4.遵循原则:测试用例的独立性

5.深入分层:元素定位分离

6.框架优化:提取basepage,具备处理异常 日志 截图功能

7.框架优化:使用pytest单元测试框架

8.Jenkins集成,分布式部署

 

为什么要把业务逻辑从测试逻辑里抽离出来?

-PO模式 PageObject 页面中封装成一个对象 ==》

例如:1,DOM document Object Model(将HTML文档表示成js的对象) document.getElement...获取内容

2,WebElement==>将html的标签表示成python的object对象,web_ele.text web_ele.get_attribute()来访问属性

3,DOM-->python 的object对象,这就是PO模式的由来

--PageObject==》1.WebElement(元素) 2.元素操作(点击,拖拽) 均属于PageObject的组成部分,(就是一个页面一个文件封装)

  • PO模式是一种自动化测试设计模式,页面定位和业务逻辑分开,也就是把对象的定位和测试脚本分开,从而提高可维护性。(换个项目只要改写业务逻辑不用改动测试逻辑)
  • 使业务更清晰
  • 代码更利于维护
  • 可以复用

首页里面的逻辑封装到一个页面 --HomePage

--方法和逻辑封装到登陆页面 --LoginPage

投资BidPage,蜂群 UserPage

原理:

将页面的元素定位和元素行为封装成一个page类

类的属性:元素的定位

类的行为:元素的操作

页面对象和测试用例分离

测试用例:调用页面所需对象的行为,组成测试用例

好处:

  • 当某个页面的元素发生变化,只需要修改该页面对象中的代码即可,测试用例不需要修改--可维护性
  • 提高代码重用率,结构清晰,维护代码更容易
  • 测试用例发生变化时,不需要或只需要修改少数页面对象代码即可--复用性

为什么不能用函数封装?
# 多个不同的函数都公用一个形参,共享的实际参数可以作为一个属性
# 在类中属性表示共同特征
# 不利于在多个函数之间共享变量

#类就是这种共享数据的一种形式
---那么以上是可以封装成一个类的, class LoginPage

 

 

ddt数据驱动:每个测试数据相互独立(解决的问题)

用try except可以接受抛出的异常用例,继续执行后续用例,否则一条用例失败,后面的用例都无法执行

 

转载于:https://www.cnblogs.com/ella-li/p/11631200.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值