【UI自动化测试】3_TPshop项目实战 _一个测试用例脚本编写过程

文章目录

一、一个测试脚本编写过程

二、后台登录页面-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   # 继续抛出异常(如果不写,则表示捕获到异常,但是不跑出来)
相关推荐
laowangpython14 天前
Photoshop 2025 下载安装全攻略
其他·ui·photoshop
风华圆舞14 天前
Flutter + 鸿蒙 Intents Kit:页面直达能力的完整接入方案
flutter·ui·华为·harmonyos
程序员小远14 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
鲲穹AI超级员工14 天前
多款实用配色工具汇总,适配设计、UI 创作等多元场景
ui·色彩设计
UXbot14 天前
帮助企业低门槛开展AI应用开发的平台推荐
前端·低代码·ui·交互·产品经理·原型模式·web app
烂白菜14 天前
智码美形:华为云码道 × UI-UX-Pro-Max 高品质界面智能生成实践
ui·华为云·ux
像风一样的男人@14 天前
python --实现代理服务器
git·ui
风华圆舞14 天前
鸿蒙 Flutter 页面怎么感知防窥状态并调整 UI 可见性
flutter·ui·harmonyos
UXbot15 天前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app