【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   # 继续抛出异常(如果不写,则表示捕获到异常,但是不跑出来)
相关推荐
互联网散修6 小时前
鸿蒙应用开发UI基础第三十六节:Grid网格布局二维自适应宫格与不规则布局方案
ui
NGBQ121389 小时前
Seelen.UI_2.5.7_x64-setup.exe 全解析:专业界面设计与原型构建工具深度指南
ui
irpywp11 小时前
Boneyard:基于组件映射的骨架屏方案
前端·ui·github
好家伙VCC11 小时前
# MAUI 中的异步加载优化实战:从理论到高性能 UI 体验提升在现代跨平台移动开发中,*
java·python·ui
测试开发技术13 小时前
自动生成用例:基于OCR+ LLM的设计方案(附落地指南)
自动化测试·软件测试·自动化·llm·ocr·测试用例·用例自动生成
测试19981 天前
使用Python自动化生成接口测试用例
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
智算菩萨1 天前
【Pygame】第17章 游戏用户界面系统与菜单交互设计实现
游戏·ui·pygame
智算菩萨1 天前
【Tkinter】15 样式与主题深度解析:ttk 主题系统、Style 对象与跨平台样式管理实战
开发语言·python·ui·ai编程·tkinter
星夜泊客1 天前
Unity 排行榜 UI 优化:从全量生成到滚动复用
ui·unity·性能优化·游戏引擎