【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
且随疾风前行.17 小时前
UI核心 - 绘制流程(测量、布局、绘制)
ui·dubbo
ndsc_d20 小时前
2026年有哪些好用的AI UI设计工具?主流工具功能和适用场景对比
前端·人工智能·ui·ai·设计师·ai ui·ai ui工具
DM今天肝到几点?20 小时前
OpenAI 向全量用户开放 GPT-6 与 Intelligent UI:聊天框正在变成工作台
gpt·ui·chatgpt
FII工业富联科技服务2 天前
Intelligent UI重构工业软件交互:从固定界面到动态生成式交互
人工智能·ui·重构
FII工业富联科技服务2 天前
从大模型到自主运营:Intelligent UI如何成为工业AI的新入口
人工智能·ui
qq_252959972 天前
ChatGPT突然长出“可操作界面”:GPT-6 Intelligent UI让答案变成计算器、地图和小游戏
gpt·ui·chatgpt
兰亭妙微UI设计公司2 天前
兰亭妙微ui设计公司分享:从零搭建网站设计:3 个核心维度,少走设计弯路
ui
Cx330❀3 天前
Qt 多线程深度解析:从底层原理到 UI 线程与同步实战
开发语言·qt·ui·搜索引擎·性能优化·图形渲染
传奇开心果编程3 天前
【声明式UI实用开发技术学与练】第5课 表单处理:受控与非受控
ui·移动开发·开发范式·编程框架·声明式ui