【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   # 继续抛出异常(如果不写,则表示捕获到异常,但是不跑出来)
相关推荐
Jasmine8392 小时前
OpenClaw部署太难? Codex全流程零编码实现浏览器UI自动化
人工智能·测试工具·ui
不如摸鱼去7 小时前
uni-app 组件库 Wot UI 的 AI 友好型编程指南
人工智能·ui·uni-app
测试19988 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试用例·接口测试·压力测试·性能测试
大Mod_abfun8 小时前
AntdUI教程#1ChatList交互(vb.net)
服务器·前端·ui·交互·antdui·聊天框
少云清8 小时前
【UI自动化测试】2_IOS自动化测试 _使用模拟器
ui·ios
带娃的IT创业者8 小时前
UI 交互难题攻克:遮挡、弹窗、动态加载
ui·交互·文件上传·浏览器自动化·playwright·ui 交互·元素遮挡
修炼前端秘籍的小帅14 天前
Stitch——Google热门的免费AI UI设计工具
前端·人工智能·ui
王码码203514 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
姚青&14 天前
Pytest 测试用例断言
测试用例·pytest