Cypress
npm install @tracera/cypress
Node.js ≥ 22.19 और Cypress ≥ 14 चाहिए (देखें ऑटोटेस्ट एडेप्टर)। @tracera/cypress npm पर.
cypress.config.ts में:
import { defineConfig } from 'cypress';
import { registerTraceraPlugin } from '@tracera/cypress';
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
return registerTraceraPlugin(on, config);
},
supportFile: 'cypress/support/e2e.ts',
},
});
सपोर्ट फ़ाइल में:
import '@tracera/cypress/support';
Component Testing के लिए component.setupNodeEvents से registerTraceraPlugin कॉल करें और CT सपोर्ट फ़ाइल से वही सपोर्ट एंट्री इम्पोर्ट करें।
रीट्राई चालू हो तो केवल अंतिम Cypress प्रयास रिपोर्ट होता है। अगर वह रीट्राई है (retry > 0), परिणाम Env टैब में CYPRESS_RETRY आता है (1 दूसरा रन है)।
एनवायरनमेंट वेरिएबल और रन मोड: ऑटोटेस्ट एडेप्टर।
testCaseId और autotestName बाँधना
tracera / annotations को @tracera/cypress/runtime से इम्पोर्ट करें, या सपोर्ट इम्पोर्ट के बाद cy.traceraTestCase इस्तेमाल करें। अगर autotestName न दें, तो एडेप्टर Cypress टेस्ट का नाम लेता है।
घोषणा पर (पसंदीदा — जल्दी this.skip() करने पर भी बाइंड चलता है):
import { annotations } from '@tracera/cypress/runtime';
it('login', annotations(42, 'e2e/login'), () => {
cy.visit('/login');
cy.get('[data-testid=sign-in]').should('be.visible');
});
टेस्ट के अंदर (अगर annotations पहले से केस बाँध चुके हों तो वैकल्पिक):
import { tracera } from '@tracera/cypress/runtime';
it('login', () => {
tracera.testCase(42, 'e2e/login');
cy.visit('/login');
cy.get('[data-testid=sign-in]').should('be.visible');
});
या: cy.traceraTestCase(42, "e2e/login")।
स्टेप्स
tracera.step (या cy.traceraStep) इस्तेमाल करें। import "@tracera/cypress/support" के बाद स्टॉक beforeEach / afterEach इंस्ट्रूमेंटेड हैं — उनके अंदर स्टेप्स सेटअप / टीयरडाउन में जाते हैं।
import { tracera } from '@tracera/cypress/runtime';
beforeEach(() => {
tracera.step('open shop', () => {
cy.visit('/shop');
});
});
it('checkout', () => {
tracera.testCase(10, 'e2e/checkout');
tracera.step('add to cart', () => {
cy.get('[data-testid=add]').click();
});
});
afterEach(() => {
tracera.step('cleanup', () => {
// …
});
});
टिप्पणियाँ, त्रुटियाँ और अटैचमेंट
स्टेप के अंदर उस स्टेप के फ़ील्ड। स्टेप के बाहर रिजल्ट के फ़ील्ड। परिणाम पर अधिकतम 10 अटैचमेंट और हर चरण पर 10। प्लगइन रजिस्टर होने पर फ़ेल स्क्रीनशॉट फॉरवर्ड होते हैं।
import { tracera } from '@tracera/cypress/runtime';
it('login', () => {
tracera.testCase(42, 'e2e/login');
tracera.comment('result-level note');
tracera.error('result-level error text');
tracera.step('open login', () => {
cy.visit('/login');
tracera.comment('landed on login');
tracera.attachment({
fileName: 'suite-log.txt',
mimeType: 'text/plain',
data: 'finished login flow',
});
});
});