| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- const { test, expect } = require('@playwright/test');
- const BASE_URL = 'https://ajy.danclub.cn';
- const TEST_ADMIN = { username: 'admin', password: 'admin123' };
- test.describe('设备绑定异常与边界', () => {
- test.beforeEach(async ({ page }) => {
- await page.goto(BASE_URL);
- await page.waitForLoadState('networkidle');
- await page.getByPlaceholder('请输入用户名').fill(TEST_ADMIN.username);
- await page.getByPlaceholder('请输入密码').fill(TEST_ADMIN.password);
- await page.getByRole('button', { name: '登 录' }).click();
- await page.waitForURL(`${BASE_URL}/#/user/app`, { timeout: 10000 });
- });
- test('DE-001: 设备编号不存在时绑定', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device/users?deviceId=99999`);
- await page.waitForLoadState('networkidle');
- await page.waitForTimeout(1000);
- });
- test('DE-002: 设备编号为空绑定', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- });
- test('DE-003: 设备编号重复注册', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- const addBtn = page.getByRole('button', { name: '新增' });
- if (await addBtn.isVisible()) {
- await addBtn.click();
- await page.waitForTimeout(500);
- await page.getByPlaceholder('请输入设备编号(如:AJY001)').fill('AJY001');
- await page.waitForTimeout(300);
- }
- });
- test('DE-004: 设备编号含特殊字符', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- const addBtn = page.getByRole('button', { name: '新增' });
- if (await addBtn.isVisible()) {
- await addBtn.click();
- await page.waitForTimeout(500);
- await page.getByPlaceholder('请输入设备编号(如:AJY001)').fill('AJY-001');
- await page.getByPlaceholder('请输入设备名称').fill('测试设备');
- await page.waitForTimeout(300);
- }
- });
- test('DE-005: 固件版本格式验证', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- const addBtn = page.getByRole('button', { name: '新增' });
- if (await addBtn.isVisible()) {
- await addBtn.click();
- await page.waitForTimeout(500);
- await page.getByPlaceholder('请输入固件版本(如:v1.2.0)').fill('invalid');
- await page.waitForTimeout(300);
- }
- });
- test('DE-006: 删除已绑定用户的设备', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- const deleteBtn = page.getByRole('button', { name: '删除' }).first();
- if (await deleteBtn.isVisible()) {
- await deleteBtn.click();
- await page.waitForTimeout(500);
- await page.getByRole('button', { name: '取消' }).click();
- await page.waitForTimeout(300);
- }
- });
- test('DE-007: 批量删除设备数量边界', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- const checkbox = page.locator('.el-table__header .el-checkbox').first();
- if (await checkbox.isVisible()) {
- await checkbox.click();
- await page.waitForTimeout(300);
- }
- });
- test('DE-008: 设备类型切换影响', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- });
- test('DE-009: 分页-每页50条', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- const pageSizeSelect = page.locator('.el-select').last();
- if (await pageSizeSelect.isVisible()) {
- await pageSizeSelect.click();
- await page.waitForTimeout(300);
- }
- });
- test('DE-010: 设备列表导出Excel', async ({ page }) => {
- await page.goto(`${BASE_URL}/#/device`);
- await page.waitForLoadState('networkidle');
- await page.waitForTimeout(1000);
- });
- });
|