Page Objects就是页面对象设计模式
在UI级的自动化测试中,页面对象设计模式表示测试正在交互的web应用程序永固洁面中的一个区域。这减少了代码的重复,也就是说,如果用户界面发生改变,只需要在一个地方修改程序就行了,使用页面对象设计模式的优点为:
1.创建可以跨多个测试用例共享的代码;
2.减少重复代码的数量;
3.如果用户界面发生变更后,只需要在一个地方维护就可以了。
创建UI,在UI的工程中创建对应的包和目录
注:
在以上工程目录中,在base包里面存放基础代码,在page包里面编写关于页面对象层的代码,若web页面发生变更,修改代码主要是在page包中进行。utils包中编写读取文件的方法,testCase包中编写页面对象中所有的测试代码,data文件夹存放测试数据,
测试数据存放在xml文件中,report存放测试报告。
page object模式就可以很好地解决这个问题,优点:
减少代码冗余、业务和实现分离、降低维护成本
那到底什么是Page Object模式,见名知意,就是页面对象,在实际自动化测试中,一般对脚本分为三层:
对象层: 用于存放页面元素定位
逻辑层: 用于存放一些封装好的功能用例模块
业务层: 用于存放我们真正的测试用例的操作部分
除了以上三层,还有一个基础层,基础层主要是针对selenium的一些常用方法,根据实际业务需要进行二次封装,如点击、输入等操作加入一些等待、日志输入、截图等操作,方便以后查看脚本的运行情况及问题排查。
1.base包:存放基础代码;
在 base包中创建basePage的模块,在该模块中编写基础代码
# base包:存放基础代码;
# 1.在 base包中创建basePage的模块,在该模块中编写基础代码
from selenium import webdriver as w
from selenium.webdriver.support.expected_conditions import NoSuchElementException
from selenium.webdriver.common.by import By as b
import time as t
class WebDriver(object