Files
my-mom-system/erp-frontend-vue/tests/warehouse-issue.spec.ts
panchengyong c28ada5050 commit content
2026-03-06 02:02:59 +08:00

126 lines
4.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { test, expect } from '@playwright/test'
import { login, clickSubMenu, clickMenuItem, expectBasicList, closeMessageBox } from './utils/erpTestUtils'
test.describe('生产领料单页面', () => {
test('列表页基础测试', async ({ page }) => {
await test.step('步骤1登录系统', async () => {
await login(page)
})
await test.step('步骤2导航到生产领料单页面', async () => {
await clickSubMenu(page, '生产管理')
await clickMenuItem(page, '/warehouse/issue')
await expect(page).toHaveURL(/\/warehouse\/issue/)
})
await test.step('步骤3检查页面基本布局', async () => {
await expectBasicList(page)
await closeMessageBox(page)
})
await test.step('步骤4检查主要功能按钮', async () => {
const buttons = ['新增', '导出', '搜索', '重置']
for (const btnName of buttons) {
const btn = page.getByRole('button', { name: btnName }).first()
if (await btn.count() > 0) {
await expect(btn).toBeVisible()
}
}
})
await test.step('步骤5检查搜索表单', async () => {
const searchForm = page.locator('.el-form').first()
await expect(searchForm).toBeVisible()
})
})
test('搜索功能测试', async ({ page }) => {
await test.step('步骤1登录系统并导航到生产领料单页面', async () => {
await login(page)
await clickSubMenu(page, '生产管理')
await clickMenuItem(page, '/warehouse/issue')
await closeMessageBox(page)
})
await test.step('步骤2点击搜索按钮', async () => {
const searchBtn = page.getByRole('button', { name: /搜索|查询/ }).first()
if (await searchBtn.count() > 0) {
await searchBtn.click()
await page.waitForTimeout(500)
await closeMessageBox(page)
}
})
await test.step('步骤3点击重置按钮', async () => {
const resetBtn = page.getByRole('button', { name: /重置/ }).first()
if (await resetBtn.count() > 0) {
await resetBtn.click()
await closeMessageBox(page)
}
})
})
test('新增生产领料单页面测试', async ({ page }) => {
await test.step('步骤1登录系统并导航到生产领料单页面', async () => {
await login(page)
await clickSubMenu(page, '生产管理')
await clickMenuItem(page, '/warehouse/issue')
await closeMessageBox(page)
})
await test.step('步骤2点击新增按钮', async () => {
const addBtn = page.getByRole('button', { name: /新增|新建/ }).first()
if (await addBtn.count() > 0 && await addBtn.isVisible()) {
await addBtn.click()
await page.waitForTimeout(1000)
await closeMessageBox(page)
}
})
await test.step('步骤3检查新增页面表单', async () => {
const form = page.locator('.el-form').first()
if (await form.count() > 0) {
await expect(form).toBeVisible()
}
})
await test.step('步骤4检查主要操作按钮', async () => {
const actionButtons = ['保存', '提交', '删除', '返回']
for (const btnName of actionButtons) {
const btn = page.getByRole('button', { name: btnName }).first()
if (await btn.count() > 0) {
await expect(btn).toBeVisible()
}
}
})
await test.step('步骤5返回列表页', async () => {
await page.goBack()
await page.waitForTimeout(500)
await closeMessageBox(page)
})
})
test('导出功能测试', async ({ page }) => {
await test.step('步骤1登录系统并导航到生产领料单页面', async () => {
await login(page)
await clickSubMenu(page, '生产管理')
await clickMenuItem(page, '/warehouse/issue')
await closeMessageBox(page)
})
await test.step('步骤2测试导出按钮', async () => {
const exportBtn = page.getByRole('button', { name: /导出/ }).first()
if (await exportBtn.count() > 0 && await exportBtn.isVisible()) {
try {
await exportBtn.click()
await page.waitForTimeout(500)
await closeMessageBox(page)
} catch (e) {
}
}
})
})
})