| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- describe('GIS 地图交互', () => {
- beforeEach(() => {
- cy.login();
- cy.visit('/dashboard');
- cy.waitForDashboardLoad();
-
- // 等待地图加载完成
- cy.get('.map-container', { timeout: 20000 }).should('be.visible');
- });
-
- it('地图基本显示功能', () => {
- cy.get('.map-container').should('be.visible');
- cy.get('.leaflet-map').should('be.visible');
- });
-
- it('地图缩放控制', () => {
- cy.get('.zoom-in-btn').click();
- cy.get('.zoom-level').should('contain', '更近');
-
- cy.get('.zoom-out-btn').click();
- cy.get('.zoom-level').should('contain', '更远');
- });
-
- it('设备标记点击交互', () => {
- cy.get('.device-marker').first().click();
-
- // 验证弹出信息窗口
- cy.get('.device-popup').should('be.visible');
- cy.get('.device-popup-name').should('be.visible');
- cy.get('.device-popup-status').should('be.visible');
- });
-
- it('设备信息详情查看', () => {
- cy.get('.device-marker').first().click();
- cy.get('.device-popup').find('.view-details-btn').click();
-
- // 验证详情弹窗
- cy.get('.device-detail-modal').should('be.visible');
- cy.get('.device-name').should('be.visible');
- cy.get('.device-info').should('be.visible');
- });
-
- it('地图图层切换', () => {
- cy.get('.layer-control').click();
- cy.get('.layer-menu').should('be.visible');
-
- cy.get('.satellite-layer').click();
- cy.get('.map-container').should('have.class', 'satellite-view');
-
- cy.get('.street-layer').click();
- cy.get('.map-container').should('have.class', 'street-view');
- });
-
- it('地图区域选择', () => {
- cy.get('.draw-polygon-btn').click();
-
- // 在地图上绘制多边形
- cy.get('.map-container').click({ multiple: true });
- cy.get('.finish-drawing').click();
-
- // 验证绘制成功
- cy.get('.drawn-area').should('be.visible');
- });
-
- it('地图搜索功能', () => {
- cy.get('.search-input').type('测试区域');
- cy.get('.search-btn').click();
-
- // 验证搜索结果
- cy.get('.search-results').should('be.visible');
- cy.get('.search-result-item').should('have.length.gt', 0);
- });
-
- it('全屏显示地图', () => {
- cy.get('.fullscreen-btn').click();
- cy.get('.fullscreen-map').should('be.visible');
-
- cy.get('.exit-fullscreen').click();
- cy.get('.fullscreen-map').should('not.exist');
- });
- });
|