【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   # 继续抛出异常(如果不写,则表示捕获到异常,但是不跑出来)
相关推荐
UI设计兰亭妙微15 小时前
兰亭妙微|打破色彩对比度迷思:UI设计公司中的无障碍设计灵活之道
ui·b端界面设计·高端网站设计
轻口味16 小时前
HarmonyOS 6.1 全栈实战录 - 14 渲染树透镜:FrameNode 渲染状态感知与高性能 UI 调优实战
ui·华为·harmonyos
测试员周周18 小时前
【Appium 系列】第15节-视觉测试 — 截图、对比、视觉回归
人工智能·python·数据挖掘·回归·appium·测试用例·测试覆盖率
ZC跨境爬虫19 小时前
跟着 MDN 学CSS day_5:掌握属性选择器的存否匹配与子字符串匹配
前端·javascript·css·ui·html
ZC跨境爬虫19 小时前
模块化烹饪小程序开发日记 Day5:(后端Flask接口开发与AI智能解析菜谱的实现)
前端·人工智能·后端·python·ui·flask
薛定猫AI1 天前
【深度解析】Gemini Omni 多模态生成与 Agent 化创作工作流:从视频编辑到 UI 生成的技术演进
人工智能·ui·音视频
赏金术士1 天前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose
幽络源小助理2 天前
全新UI 阅后即焚V2正式版系统源码_全开源_安全加密传输
安全·ui·开源·php源码
June bug2 天前
【AI赋能测试笔记】5基于文档用例生成系统及skills
笔记·功能测试·职场和发展·测试用例·学习方法
ZC跨境爬虫2 天前
跟着 MDN 学CSS day_2:(连接样式表与选择器的实战艺术)
java·前端·css·ui·html·媒体