user-edge.spec.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. const { test, expect } = require('@playwright/test');
  2. const BASE_URL = 'https://ajy.danclub.cn';
  3. const TEST_ADMIN = { username: 'admin', password: 'admin123' };
  4. test.describe('用户体型数据边界测试', () => {
  5. test.beforeEach(async ({ page }) => {
  6. await page.goto(BASE_URL);
  7. await page.waitForLoadState('networkidle');
  8. await page.getByPlaceholder('请输入用户名').fill(TEST_ADMIN.username);
  9. await page.getByPlaceholder('请输入密码').fill(TEST_ADMIN.password);
  10. await page.getByRole('button', { name: '登 录' }).click();
  11. await page.waitForURL(`${BASE_URL}/#/user/app`, { timeout: 10000 });
  12. });
  13. test('UE-001: 男性肩宽最小值边界(36cm)', async ({ page }) => {
  14. await page.goto(`${BASE_URL}/#/user/app`);
  15. await page.waitForLoadState('networkidle');
  16. const addBtn = page.getByRole('button', { name: '新增用户' });
  17. if (await addBtn.isVisible()) {
  18. await addBtn.click();
  19. await page.waitForTimeout(500);
  20. await page.getByPlaceholder('请输入姓名').fill('边界男');
  21. await page.waitForTimeout(300);
  22. }
  23. });
  24. test('UE-002: 男性肩宽最大值边界(52cm)', async ({ page }) => {
  25. await page.goto(`${BASE_URL}/#/user/app`);
  26. await page.waitForLoadState('networkidle');
  27. });
  28. test('UE-003: 女性肩宽最小值边界(32cm)', async ({ page }) => {
  29. await page.goto(`${BASE_URL}/#/user/app`);
  30. await page.waitForLoadState('networkidle');
  31. });
  32. test('UE-004: 女性肩宽最大值边界(46cm)', async ({ page }) => {
  33. await page.goto(`${BASE_URL}/#/user/app`);
  34. await page.waitForLoadState('networkidle');
  35. });
  36. test('UE-005: 男性身长最小值边界(75cm)', async ({ page }) => {
  37. await page.goto(`${BASE_URL}/#/user/app`);
  38. await page.waitForLoadState('networkidle');
  39. });
  40. test('UE-006: 男性身长最大值边界(95cm)', async ({ page }) => {
  41. await page.goto(`${BASE_URL}/#/user/app`);
  42. await page.waitForLoadState('networkidle');
  43. });
  44. test('UE-007: 女性身长最小值边界(70cm)', async ({ page }) => {
  45. await page.goto(`${BASE_URL}/#/user/app`);
  46. await page.waitForLoadState('networkidle');
  47. });
  48. test('UE-008: 女性身长最大值边界(88cm)', async ({ page }) => {
  49. await page.goto(`${BASE_URL}/#/user/app`);
  50. await page.waitForLoadState('networkidle');
  51. });
  52. test('UE-009: 年龄最小值边界(1岁)', async ({ page }) => {
  53. await page.goto(`${BASE_URL}/#/user/app`);
  54. await page.waitForLoadState('networkidle');
  55. });
  56. test('UE-010: 年龄最大值边界(120岁)', async ({ page }) => {
  57. await page.goto(`${BASE_URL}/#/user/app`);
  58. await page.waitForLoadState('networkidle');
  59. });
  60. test('UE-011: 手机号11位验证', async ({ page }) => {
  61. await page.goto(`${BASE_URL}/#/user/app`);
  62. await page.waitForLoadState('networkidle');
  63. });
  64. test('UE-012: 手机号非1开头验证', async ({ page }) => {
  65. await page.goto(`${BASE_URL}/#/user/app`);
  66. await page.waitForLoadState('networkidle');
  67. });
  68. test('UE-013: 重名用户处理', async ({ page }) => {
  69. await page.goto(`${BASE_URL}/#/user/app`);
  70. await page.waitForLoadState('networkidle');
  71. });
  72. test('UE-014: 批量删除用户', async ({ page }) => {
  73. await page.goto(`${BASE_URL}/#/user/app`);
  74. await page.waitForLoadState('networkidle');
  75. const checkbox = page.locator('.el-table__header .el-checkbox').first();
  76. if (await checkbox.isVisible()) {
  77. await checkbox.click();
  78. await page.waitForTimeout(300);
  79. }
  80. });
  81. });