文章目录
- 一、一个测试脚本编写过程
- 二、后台登录页面-PO封装
- 三、后台登录测试脚本
-
- [3.1 测试用例](#3.1 测试用例)
- [3.2 补充断言](#3.2 补充断言)
一、一个测试脚本编写过程

二、后台登录页面-PO封装
python
from selenium.webdriver.common.by import By
from base.base_page import AdminBasePage
# admin-登录页面
class AdminLoginPage(AdminBasePage):
# 实例属性-管理操作步骤在该页面中所用到元素定位信息
def __init__(self):
super().__init__() # 子类中重写或扩展父类的方法
# 用户名输入框
self.username = (By.NAME, "username")
# 密码输入框
self.password = (By.NAME, "password")
# 验证码输入框
self.code = (By.ID, "vertify")
# 登录按钮
self.login_btn = (By.NAME, "submit")
# 实例方法(业务操作层)-封装测试用例在该页面的操作步骤 (测试案例的测试步骤)
def admin_login(self, usr, pwd, cod):
# 1、输入用户名
self.input_text(self.find_el(self.username), usr)
# 2、输入密码
self.input_text(self.find_el(self.password), pwd)
# 3、输入验证码
self.input_text(self.find_el(self.code), cod)
# 4、点击登陆按钮
self.find_el(self.login_btn).click()

三、后台登录测试脚本
3.1 测试用例
python
import time
from config import BASE_PATH
from page.admin_page.login_page import AdminLoginPage
from utils import DriverUtils, el_is_exist_by_text
# 1。定义测试类
class TestLogin:
# 类级别的初始化方法
def setup_class(self):
# 1.打开浏览器
self.driver = DriverUtils.get_admin_driver()
# 2.打开测试网址
self.driver.get("http://192.168.189.139/admin")
# 类级别的销毁的方法
def teardown_class(self):
# 1.关闭浏览器
DriverUtils.quit_admin_driver()
# 2。定义测试方法
def test_login(self):
# 执行登录操作步骤
AdminLoginPage().admin_login("admin", "123456", "8888")
# 断言
try:
# 调用根据文本判断当前页面是否存在的函数
assert el_is_exist_by_text(self.driver, False, "admin")
except Exception as e:
# 如断言失败,则截图
self.driver.get_screenshot_as_file(BASE_PATH + "/img/test_login.png")
raise e # 继续抛出异常(如果不写,则表示捕获到异常,但是不跑出来)

3.2 补充断言
python
# 2。定义测试方法
def test_login(self):
# 执行登录操作步骤
AdminLoginPage().admin_login("admin", "123456", "8888")
# 断言
try:
# 调用根据文本判断当前页面是否存在的函数
assert el_is_exist_by_text(self.driver, False, "admin")
except Exception as e:
# 如断言失败,则截图
self.driver.get_screenshot_as_file(BASE_PATH + "/img/test_login.png")
raise e # 继续抛出异常(如果不写,则表示捕获到异常,但是不跑出来)
