// 每一 describe 就是一個測試套件 // 每一 it 就是一個測試命令 describe('Save Log and Filter', ()=>{ beforeEach(() => { cy.visit('https://REDACTED-HOST/files'); cy.login(); cy.visit('https://REDACTED-HOST/files'); // enter log cy.url().should('include', 'files'); cy.contains('.fileName', 'random').dblclick(); // 選取 'random' log 檔 cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 cy.url().should('include', 'discover/logs'); // 斷言在 discover/logs/:id 路徑 cy.wait(3000) cy.get('#iconFilter').click(); // 選取 Filter sidebar }); it('Sequence, Have activity(s).', () => { // select radio cy.get('input#Sequence0').should('be.checked'); // 選取 Radio 'Sequence' cy.contains('label', 'Have activity(s)') // 選取 Radio 'Have activity(s)' .prev(2) .find('input') .should('have.attr', 'type', 'radio') // select the previous element .should('be.checked'); // confirm it's type radio (optional) // No selected. cy.contains('button', 'Apply').click(); cy.get('.v-toast__text').should('contain', 'Not selected'); cy.wait(3000); // Clear selected item. cy.get('.allCheckboxAct') // 選取 all select .find('input') .should('not.be.visible').check({ force: true}).should('be.checked'); // 打開隱藏項目並選取 cy.contains('button', 'Clear').click(); cy.get('.allCheckboxAct') // 選取 all select .find('input') .should('not.be.visible') .should('not.be.checked') cy.wait(3000); // selected item cy.get('table tr:nth-child(2) input[type="checkbox"]').check({force: true}); cy.contains('button', 'Apply').click(); cy.get('#tabFunnel').click(); cy.contains('p', 'Sequence'); cy.contains('span', 'Include'); cy.contains('button', 'Apply All').click(); // make sure create map again. cy.get('header').click(); cy.get('#iconState').click(); cy.get('li').first().then($li => { // then() 獲取