在web自动化测试中,PO模式即Page Object(操作流程与页面元素分离);测试用例中不含任何元素定位,只写业务逻辑,页面元素定位写成方法封装到对象中。
PO模式的基本操作步骤分为3步:
1. 编写 基类BasePage,它包含了所有页面的元素操作方法
2. 定义一个类A继承BasePage类,该类中包含了测试页面需要使用的所有元素定位和操作封装成方法
3. 定义一个类B继承unittest,编写测试用例(只需调用A中对应的封装方法即可完成业务逻辑编写)
按照上面3个步骤,来操作下苏宁的登录:
# !/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.action_chains import ActionChains
class BasePage(object):
def __init__(self, br, url):
self.br = br
self.url = url
# 打开网页
def open_url(self):
self.br.get(self.url)
# 查找元素
def find_element(self, *loc):
return self.br.find_element(*loc)
# 输入
def input_txt(self, loc, text):
self.find_element(*loc).send_keys(text)
# 清空文本
def clear(self, loc):