Selenium - Python下使用pageobject实现自动化测试

做过UI的自动化测试都知道,测试是对元素的操作,因此特别依赖元素的定位。但是这就会带来一个很大的问题—“维护成本”,如果你在不同的测试用例脚本中使用的一个元素的定位多次,当该元素的位置或者属性发生变化,就必须查找到脚本中对应的使用的位置进行修改。

Page Object
Page Objects模式是一种测试设计模式,它可以指整个页面,也可以指页面上的某个区域。
Page Object将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),提高用例的可维护性。

Page Object的优点
- 减少了代码的重复
- 让测试更具可读性和强大的
- 提高了测试的可维护性

实例
下面以“百度搜索”为例详细说明,Page Object的原理:
1、项目目录:

.
├── pages
│   ├── BaiduPage.py
│   ├── BasePage.py
│   └── __init__.py
├── report
├── run.py
├── testcases
│   └── Test_Baidu.py
└── utils
    ├── PublicMethod.py
    ├── __init__.py
    └── configfile.py

pages:文件夹下存放测试Page Object的基类和对应的测试页面
report:通过HTMLTestRunner生成的测试报告存放位置
testcases:存放具体的测试脚本,以Test开否的.py文件
utils:存放公共的方法(PublicMethod)和配置文件(configfile)
run.py:从testcases中获取测试用例集,并执行的脚本文件

2.1、pages-定义页面基础类BasePage.py

# -*- coding:utf-8 -*-

class BasePage(object):
    """
    This is a base page class for Page Object.
    """
    def __init__(self, driver)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值