智慧水务管理系统 - 精河县供水工程综合管理平台

mobile-core.cy.js 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. describe('移动端核心功能', () => {
  2. beforeEach(() => {
  3. cy.viewport(375, 667); // iPhone 6/7/8 尺寸
  4. cy.login();
  5. cy.visit('/mobile');
  6. });
  7. it('移动端导航菜单', () => {
  8. cy.get('.mobile-menu-toggle').click();
  9. cy.get('.mobile-menu').should('be.visible');
  10. cy.get('.mobile-menu-item').should('have.length.gt', 0);
  11. cy.get('.mobile-menu-item').first().click();
  12. cy.get('.mobile-menu').should('not.exist');
  13. });
  14. it('移动端设备查看', () => {
  15. cy.visit('/mobile/devices');
  16. cy.get('.device-card').should('be.visible');
  17. cy.get('.device-card').first().click();
  18. cy.get('.device-detail').should('be.visible');
  19. });
  20. it('移动端巡检任务操作', () => {
  21. cy.visit('/mobile/patrol');
  22. cy.get('.task-list').should('be.visible');
  23. cy.get('.task-card').first().click();
  24. cy.get('.task-actions').should('be.visible');
  25. // 执行任务
  26. cy.get('.start-task').click();
  27. cy.get('.task-report').should('be.visible');
  28. });
  29. it('移动端消息通知', () => {
  30. cy.get('.notification-icon').click();
  31. cy.get('.notification-panel').should('be.visible');
  32. cy.get('.notification-item').should('have.length.gt', 0);
  33. cy.get('.notification-item').first().click();
  34. cy.get('.notification-detail').should('be.visible');
  35. });
  36. it('移动端拍照上传', () => {
  37. cy.visit('/mobile/patrol');
  38. cy.get('.task-card').first().click();
  39. cy.get('.add-photo-btn').click();
  40. cy.get('.camera-modal').should('be.visible');
  41. // 模拟拍照
  42. cy.get('.capture-btn').click();
  43. cy.get('.photo-preview').should('be.visible');
  44. cy.get('upload-btn').click();
  45. cy.contains('上传成功').should('be.visible');
  46. });
  47. it('移动端离线模式', () => {
  48. cy.intercept('GET', '/api/**', { forceNetworkError: true });
  49. cy.visit('/mobile/devices');
  50. cy.get('.offline-indicator').should('be.visible');
  51. cy.get('.cached-data').should('be.visible');
  52. // 离线操作应该仍然可用
  53. cy.get('.device-card').first().click();
  54. cy.get('.device-detail').should('be.visible');
  55. });
  56. it('移动端数据同步', () => {
  57. cy.get('.sync-btn').click();
  58. cy.get('.sync-indicator').should('be.visible');
  59. cy.get('.sync-complete').should('be.visible');
  60. cy.get('.sync-indicator').should('not.exist');
  61. });
  62. });