// 每一 describe 就是一個測試套件 // 每一 it 就是一個測試命令 describe('Conformance Save', ()=>{ beforeEach(() => { cy.visit('https://REDACTED-HOST/files'); cy.login(); cy.visit('https://REDACTED-HOST/files'); }); it('Cycle time, Start', () => { // enter Map cy.url().should('include', 'files'); cy.get('table tr').filter(':contains("Rule")').filter(':contains("random-conformance-rule-E2Etesting")').dblclick({ force: true }); cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 cy.url().should('include', 'rule/log'); // 斷言在 discover/map/log/:id 路徑 cy.wait(2000) // select radio Rule Type cy.get('#cyp-conformance-type-radio') .find('input[value="Cycle time"]') .check({ force: true }) .should('be.checked'); // select radio Activity Sequence cy.get('#cyp-conformance-actseq-radio') .find('input[value="Start"]') .check({ force: true }) .should('be.checked'); // open showbar cy.get('#cyp-showbaricon').click(); // select radio Start cy.contains('p', 'Start') .next('div') .find('input') .first() .check({ force: true }) .should('be.checked'); // change time to time range Start cy.get('#min').click(); cy.get('input[data-index="2"]').eq(0).type('59', { force: true }); // change time to time range End cy.get('#max').click(); cy.get('input[data-index="2"]').eq(0).type('0', { force: true }); // click apply cy.contains('button', 'Apply').click(); cy.contains('.v-toast', 'Rule applied'); // 是否有顯示選擇項目 cy.get('#cyp-conformance-result-dot') .find('li') // 在 ul 中找到所有的 li 元素 .should('have.length', 1); // 斷言 li 的數量為 2 // save log cy.contains('button', 'Save').click(); cy.contains('.swal2-title', 'SAVE COMPLETE'); cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting'); }); it('Cycle time,End', () => { // enter Map cy.url().should('include', 'files'); cy.get('table tr').filter(':contains("Rule")').filter(':contains("random-conformance-rule-E2Etesting")').dblclick({ force: true }); cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 cy.url().should('include', 'rule/log'); // 斷言在 discover/map/log/:id 路徑 cy.wait(2000) // select radio Rule Type cy.get('#cyp-conformance-type-radio') .find('input[value="Cycle time"]') .check({ force: true }) .should('be.checked'); // select radio Activity Sequence cy.get('#cyp-conformance-actseq-radio') .find('input[value="End"]') .check({ force: true }) .should('be.checked'); // open showbar cy.get('#cyp-showbaricon').click(); // select radio End cy.contains('p', 'End') .next('div') .find('input') .first() .check({ force: true }) .should('be.checked'); // change time to time range Start cy.get('#min').click(); cy.get('input[data-index="2"]').eq(0).type('59', { force: true }); // change time to time range End cy.get('#max').click(); cy.get('input[data-index="2"]').eq(0).type('0', { force: true }); // click apply cy.contains('button', 'Apply').click(); cy.contains('.v-toast', 'Rule applied'); // 是否有顯示選擇項目 cy.get('#cyp-conformance-result-dot') .find('li') // 在 ul 中找到所有的 li 元素 .should('have.length', 1); // 斷言 li 的數量為 2 // save log cy.contains('button', 'Save').click(); cy.contains('.swal2-title', 'SAVE COMPLETE'); cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting'); }); it('Cycle time,Start & End', () => { // enter Map cy.url().should('include', 'files'); cy.get('table tr').filter(':contains("Rule")').filter(':contains("random-conformance-rule-E2Etesting")').dblclick({ force: true }); cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 cy.url().should('include', 'rule/log'); // 斷言在 discover/map/log/:id 路徑 cy.wait(2000) // select radio Rule Type cy.get('#cyp-conformance-type-radio') .find('input[value="Cycle time"]') .check({ force: true }) .should('be.checked'); // select radio Activity Sequence cy.get('#cyp-conformance-actseq-radio') .find('input[value="Start & End"]') .check({ force: true }) .should('be.checked'); // open showbar cy.get('#cyp-showbaricon').click(); // select radio "Start & End cy.contains('p', 'Start') .next('div') .find('input') .check({ force: true }) .should('be.checked'); // select radio End cy.contains('p', 'End') .next('div') .find('input') .check({ force: true }) .should('be.checked'); // change time to time range Start cy.get('#min').click(); cy.get('input[data-index="2"]').eq(0).type('59', { force: true }); // change time to time range End cy.get('#max').click(); cy.get('input[data-index="2"]').eq(0).type('0', { force: true }); // click apply cy.contains('button', 'Apply').click(); cy.contains('.v-toast', 'Rule applied'); // 是否有顯示選擇項目 cy.get('#cyp-conformance-result-dot') .find('li') // 在 ul 中找到所有的 li 元素 .should('have.length', 2); // 斷言 li 的數量為 2 // save log cy.contains('button', 'Save').click(); cy.contains('.swal2-title', 'SAVE COMPLETE'); cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting'); }); });