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

gis-interaction.cy.js 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. describe('GIS 地图交互', () => {
  2. beforeEach(() => {
  3. cy.login();
  4. cy.visit('/dashboard');
  5. cy.waitForDashboardLoad();
  6. // 等待地图加载完成
  7. cy.get('.map-container', { timeout: 20000 }).should('be.visible');
  8. });
  9. it('地图基本显示功能', () => {
  10. cy.get('.map-container').should('be.visible');
  11. cy.get('.leaflet-map').should('be.visible');
  12. });
  13. it('地图缩放控制', () => {
  14. cy.get('.zoom-in-btn').click();
  15. cy.get('.zoom-level').should('contain', '更近');
  16. cy.get('.zoom-out-btn').click();
  17. cy.get('.zoom-level').should('contain', '更远');
  18. });
  19. it('设备标记点击交互', () => {
  20. cy.get('.device-marker').first().click();
  21. // 验证弹出信息窗口
  22. cy.get('.device-popup').should('be.visible');
  23. cy.get('.device-popup-name').should('be.visible');
  24. cy.get('.device-popup-status').should('be.visible');
  25. });
  26. it('设备信息详情查看', () => {
  27. cy.get('.device-marker').first().click();
  28. cy.get('.device-popup').find('.view-details-btn').click();
  29. // 验证详情弹窗
  30. cy.get('.device-detail-modal').should('be.visible');
  31. cy.get('.device-name').should('be.visible');
  32. cy.get('.device-info').should('be.visible');
  33. });
  34. it('地图图层切换', () => {
  35. cy.get('.layer-control').click();
  36. cy.get('.layer-menu').should('be.visible');
  37. cy.get('.satellite-layer').click();
  38. cy.get('.map-container').should('have.class', 'satellite-view');
  39. cy.get('.street-layer').click();
  40. cy.get('.map-container').should('have.class', 'street-view');
  41. });
  42. it('地图区域选择', () => {
  43. cy.get('.draw-polygon-btn').click();
  44. // 在地图上绘制多边形
  45. cy.get('.map-container').click({ multiple: true });
  46. cy.get('.finish-drawing').click();
  47. // 验证绘制成功
  48. cy.get('.drawn-area').should('be.visible');
  49. });
  50. it('地图搜索功能', () => {
  51. cy.get('.search-input').type('测试区域');
  52. cy.get('.search-btn').click();
  53. // 验证搜索结果
  54. cy.get('.search-results').should('be.visible');
  55. cy.get('.search-result-item').should('have.length.gt', 0);
  56. });
  57. it('全屏显示地图', () => {
  58. cy.get('.fullscreen-btn').click();
  59. cy.get('.fullscreen-map').should('be.visible');
  60. cy.get('.exit-fullscreen').click();
  61. cy.get('.fullscreen-map').should('not.exist');
  62. });
  63. });