acupoint.spec.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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('2.1 穴位列表', () => {
  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('AM-001: 查看穴位列表-显示列', async ({ page }) => {
  14. await page.goto(`${BASE_URL}/#/acupoint`);
  15. await page.waitForLoadState('networkidle');
  16. await expect(page.locator('.el-table__body')).toBeVisible();
  17. });
  18. test('AM-002: 按穴位名称搜索', async ({ page }) => {
  19. await page.goto(`${BASE_URL}/#/acupoint`);
  20. await page.waitForLoadState('networkidle');
  21. await page.getByPlaceholder('请输入穴位名称').first().fill('大椎');
  22. await page.getByRole('button', { name: '查询' }).click();
  23. await page.waitForTimeout(1000);
  24. });
  25. test('AM-003: 按经络筛选', async ({ page }) => {
  26. await page.goto(`${BASE_URL}/#/acupoint`);
  27. await page.waitForLoadState('networkidle');
  28. });
  29. test('AM-004: 按定位方式筛选', async ({ page }) => {
  30. await page.goto(`${BASE_URL}/#/acupoint`);
  31. await page.waitForLoadState('networkidle');
  32. });
  33. test('AM-005: 按状态筛选', async ({ page }) => {
  34. await page.goto(`${BASE_URL}/#/acupoint`);
  35. await page.waitForLoadState('networkidle');
  36. });
  37. });
  38. test.describe('2.2 新增穴位', () => {
  39. test.beforeEach(async ({ page }) => {
  40. await page.goto(BASE_URL);
  41. await page.waitForLoadState('networkidle');
  42. await page.getByPlaceholder('请输入用户名').fill(TEST_ADMIN.username);
  43. await page.getByPlaceholder('请输入密码').fill(TEST_ADMIN.password);
  44. await page.getByRole('button', { name: '登 录' }).click();
  45. await page.waitForURL(`${BASE_URL}/#/user/app`, { timeout: 10000 });
  46. });
  47. test('AM-010: 新增相对定位穴位-中心', async ({ page }) => {
  48. await page.goto(`${BASE_URL}/#/acupoint`);
  49. await page.waitForLoadState('networkidle');
  50. const addBtn = page.getByRole('button', { name: '新增' });
  51. if (await addBtn.isVisible()) {
  52. await addBtn.click();
  53. await page.waitForTimeout(500);
  54. }
  55. });
  56. test('AM-011: 新增相对定位穴位-双侧', async ({ page }) => {
  57. await page.goto(`${BASE_URL}/#/acupoint`);
  58. await page.waitForLoadState('networkidle');
  59. });
  60. test('AM-012: 新增绝对定位穴位', async ({ page }) => {
  61. await page.goto(`${BASE_URL}/#/acupoint`);
  62. await page.waitForLoadState('networkidle');
  63. });
  64. test('AM-013: 穴位名称必填验证', async ({ page }) => {
  65. await page.goto(`${BASE_URL}/#/acupoint`);
  66. await page.waitForLoadState('networkidle');
  67. const addBtn = page.getByRole('button', { name: '新增' });
  68. if (await addBtn.isVisible()) {
  69. await addBtn.click();
  70. await page.waitForTimeout(500);
  71. await page.getByRole('button', { name: '确定' }).click();
  72. await page.waitForTimeout(500);
  73. }
  74. });
  75. test('AM-014: 功效必选验证', async ({ page }) => {
  76. await page.goto(`${BASE_URL}/#/acupoint`);
  77. await page.waitForLoadState('networkidle');
  78. });
  79. test('AM-015: 纵向偏移必填验证', async ({ page }) => {
  80. await page.goto(`${BASE_URL}/#/acupoint`);
  81. await page.waitForLoadState('networkidle');
  82. });
  83. test('AM-016: 双侧横向偏移必填验证', async ({ page }) => {
  84. await page.goto(`${BASE_URL}/#/acupoint`);
  85. await page.waitForLoadState('networkidle');
  86. });
  87. });
  88. test.describe('2.3 艾灸手法管理', () => {
  89. test.beforeEach(async ({ page }) => {
  90. await page.goto(BASE_URL);
  91. await page.waitForLoadState('networkidle');
  92. await page.getByPlaceholder('请输入用户名').fill(TEST_ADMIN.username);
  93. await page.getByPlaceholder('请输入密码').fill(TEST_ADMIN.password);
  94. await page.getByRole('button', { name: '登 录' }).click();
  95. await page.waitForURL(`${BASE_URL}/#/user/app`, { timeout: 10000 });
  96. });
  97. test('AM-020: 查看手法列表', async ({ page }) => {
  98. await page.goto(`${BASE_URL}/#/technique`);
  99. await page.waitForLoadState('networkidle');
  100. await page.waitForTimeout(1000);
  101. });
  102. test('AM-021: 温度范围验证', async ({ page }) => {
  103. await page.goto(`${BASE_URL}/#/technique`);
  104. await page.waitForLoadState('networkidle');
  105. });
  106. test('AM-022: 时间范围验证', async ({ page }) => {
  107. await page.goto(`${BASE_URL}/#/technique`);
  108. await page.waitForLoadState('networkidle');
  109. });
  110. test('AM-023: 禁用手法', async ({ page }) => {
  111. await page.goto(`${BASE_URL}/#/technique`);
  112. await page.waitForLoadState('networkidle');
  113. });
  114. });