தமிழ்

சக்திவாய்ந்த எண்ட்-டு-எண்ட் சோதனை கட்டமைப்பான சைப்ரஸ் பற்றிய ஒரு விரிவான வழிகாட்டி. இதில் நிறுவுதல், சோதனைகளை எழுதுதல், பிழைத்திருத்தம், CI/CD ஒருங்கிணைப்பு மற்றும் சிறந்த நடைமுறைகள் ஆகியவை அடங்கும்.

சைப்ரஸ்: இணையப் பயன்பாடுகளுக்கான முழுமையான எண்ட்-டு-எண்ட் சோதனை வழிகாட்டி

இன்றைய வேகமாக மாறிவரும் இணைய மேம்பாட்டுச் சூழலில், இணையப் பயன்பாடுகளின் தரத்தையும் நம்பகத்தன்மையையும் உறுதி செய்வது மிக முக்கியம். பயனரின் பார்வையில் இருந்து ஒரு பயன்பாட்டின் அனைத்து கூறுகளும் தடையின்றி ஒன்றாகச் செயல்படுகின்றனவா என்பதைச் சரிபார்ப்பதில் எண்ட்-டு-எண்ட் (E2E) சோதனை முக்கியப் பங்கு வகிக்கிறது. சைப்ரஸ் ஒரு முன்னணி E2E சோதனை கட்டமைப்பாக உருவெடுத்துள்ளது, இது டெவலப்பர்களுக்கு ஏற்ற அனுபவம், சக்திவாய்ந்த அம்சங்கள் மற்றும் சிறந்த செயல்திறனை வழங்குகிறது. இந்த விரிவான வழிகாட்டி, சைப்ரஸைத் தொடங்குவதற்கும் உங்கள் இணையப் பயன்பாடுகளைத் திறம்படச் சோதிப்பதற்கும் தேவையான அனைத்தையும் உங்களுக்கு விளக்கும்.

சைப்ரஸ் என்றால் என்ன?

சைப்ரஸ் என்பது நவீன வலைக்காக உருவாக்கப்பட்ட ஒரு அடுத்த தலைமுறை முன்பக்க சோதனை கருவியாகும். உலாவியில் சோதனைகளை இயக்கும் பாரம்பரிய சோதனை கட்டமைப்புகளைப் போலல்லாமல், சைப்ரஸ் நேரடியாக உலாவியில் செயல்படுகிறது, இது உங்கள் பயன்பாட்டின் நடத்தை மீது இணையற்ற கட்டுப்பாட்டையும் தெரிவுநிலையையும் வழங்குகிறது. இது வேகமாகவும், நம்பகத்தன்மையுடனும், பயன்படுத்த எளிதாகவும் வடிவமைக்கப்பட்டுள்ளது, இது உலகெங்கிலும் உள்ள டெவலப்பர்கள் மற்றும் QA பொறியாளர்கள் மத்தியில் பிரபலமான தேர்வாக அமைகிறது. சைப்ரஸ் ஜாவாஸ்கிரிப்டில் எழுதப்பட்டுள்ளது மற்றும் உலாவிக்குள் இயங்குகிறது, இது மிகவும் செயல்திறன் மிக்கதாகவும், பயன்பாட்டின் உள்ளமைப்புகளுக்கு இணையற்ற அணுகலை வழங்குவதாகவும் உள்ளது.

சைப்ரஸ் பயன்படுத்துவதன் முக்கிய நன்மைகள்

நிறுவுதல் மற்றும் அமைத்தல்

சைப்ரஸைத் தொடங்குவது மிகவும் எளிதானது. அதை எப்படி நிறுவுவது என்பது இங்கே:

  1. முன்நிபந்தனைகள்: உங்கள் கணினியில் Node.js மற்றும் npm (Node Package Manager) நிறுவப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும். அவற்றை அதிகாரப்பூர்வ Node.js இணையதளத்திலிருந்து பதிவிறக்கம் செய்யலாம்.
  2. சைப்ரஸை நிறுவவும்: உங்கள் டெர்மினல் அல்லது கமெண்ட் ப்ராம்ப்ட்டைத் திறந்து, உங்கள் ப்ராஜெக்ட் கோப்பகத்திற்குச் சென்று, பின்வரும் கட்டளையை இயக்கவும்:
  3. npm install cypress --save-dev
  4. சைப்ரஸைத் திறக்கவும்: நிறுவல் முடிந்ததும், நீங்கள் சைப்ரஸ் டெஸ்ட் ரன்னரைத் திறக்க பின்வரும் கட்டளையை இயக்கலாம்:
  5. npx cypress open

    இந்தக் கட்டளை சைப்ரஸ் டெஸ்ட் ரன்னரைத் தொடங்கும், இது உங்கள் சோதனைகளை இயக்கவும் பிழைத்திருத்தவும் ஒரு வரைகலை இடைமுகத்தை வழங்குகிறது.

உங்கள் முதல் சைப்ரஸ் சோதனையை எழுதுதல்

ஒரு இணையதளத்தின் முகப்புப்பக்கம் சரியாக ஏற்றப்படுகிறதா என்பதைச் சரிபார்க்க ஒரு எளிய சோதனையை உருவாக்குவோம். உங்கள் ப்ராஜெக்ட்டின் `cypress/e2e` கோப்பகத்தில் `example.cy.js` என்ற புதிய கோப்பை உருவாக்கவும்.


// cypress/e2e/example.cy.js

describe('My First Test', () => {
  it('Visits the Kitchen Sink', () => {
    cy.visit('https://example.cypress.io')
    cy.contains('type').click()
    cy.url().should('include', '/commands/actions')

    cy.get('.action-email')
      .type('fake@email.com')
      .should('have.value', 'fake@email.com')
  })
})

இந்த சோதனையை விரிவாகப் பார்ப்போம்:

இந்த சோதனையை சைப்ரஸ் டெஸ்ட் ரன்னரில் இயக்கி, அதன் செயல்பாட்டைக் காணுங்கள். உலாவி சைப்ரஸ் கிச்சன் சிங்க் இணையதளத்திற்குச் செல்வதையும், "type" இணைப்பைக் கிளிக் செய்வதையும், URL-ஐ சரிபார்ப்பதையும் நீங்கள் காண வேண்டும்.

சைப்ரஸ் கட்டளைகள்

உங்கள் பயன்பாட்டுடன் தொடர்புகொள்வதற்கு சைப்ரஸ் பரந்த அளவிலான கட்டளைகளை வழங்குகிறது. மிகவும் பொதுவாகப் பயன்படுத்தப்படும் சில கட்டளைகள் இங்கே:

இவை சைப்ரஸில் கிடைக்கும் பல கட்டளைகளில் சில மட்டுமே. கட்டளைகள் மற்றும் அவற்றின் விருப்பங்களின் முழுமையான பட்டியலுக்கு சைப்ரஸ் ஆவணங்களைப் பார்க்கவும்.

சைப்ரஸில் உறுதிமொழிகள்

உங்கள் பயன்பாட்டின் எதிர்பார்க்கப்படும் நடத்தையைச் சரிபார்க்க உறுதிமொழிகள் பயன்படுத்தப்படுகின்றன. சைப்ரஸ், உறுப்புகளின் நிலை, URL, தலைப்பு மற்றும் பலவற்றைச் சரிபார்க்க நீங்கள் பயன்படுத்தக்கூடிய உள்ளமைக்கப்பட்ட உறுதிமொழிகளின் ஒரு வளமான தொகுப்பை வழங்குகிறது. உறுதிமொழிகள் `.should()` முறையைப் பயன்படுத்தி சைப்ரஸ் கட்டளைகளுக்குப் பிறகு சங்கிலித் தொடராக இணைக்கப்படுகின்றன.

சில பொதுவான உறுதிமொழி எடுத்துக்காட்டுகள் இங்கே:

உங்கள் குறிப்பிட்ட தேவைகளுக்கு ஏற்ப தனிப்பயன் உறுதிமொழிகளையும் நீங்கள் உருவாக்கலாம்.

சைப்ரஸ் சோதனைகளை எழுதுவதற்கான சிறந்த நடைமுறைகள்

சிறந்த நடைமுறைகளைப் பின்பற்றுவது, பராமரிக்கக்கூடிய, நம்பகமான மற்றும் திறமையான சைப்ரஸ் சோதனைகளை எழுத உங்களுக்கு உதவும். சில பரிந்துரைகள் இங்கே:

மேம்பட்ட சைப்ரஸ் நுட்பங்கள்

ஸ்டப்பிங் மற்றும் மாக்கிங்

சைப்ரஸ் நெட்வொர்க் கோரிக்கைகள் மற்றும் பதில்களை ஸ்டப் செய்ய உங்களை அனுமதிக்கிறது, இது வெவ்வேறு சூழ்நிலைகளை உருவகப்படுத்தவும் உங்கள் பயன்பாட்டின் பிழை கையாளுதலைச் சோதிக்கவும் உதவுகிறது. வெளிப்புற API-கள் அல்லது சேவைகளைச் சார்ந்திருக்கும் அம்சங்களைச் சோதிக்க இது மிகவும் பயனுள்ளதாக இருக்கும்.

ஒரு நெட்வொர்க் கோரிக்கையை ஸ்டப் செய்ய, நீங்கள் `cy.intercept()` கட்டளையைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, கீழே உள்ள குறியீடு `/api/users`-க்கு ஒரு GET கோரிக்கையை ஸ்டப் செய்து ஒரு மாக் பதிலை வழங்குகிறது:


cy.intercept('GET', '/api/users', {
  statusCode: 200,
  body: [
    { id: 1, name: 'John Doe' },
    { id: 2, name: 'Jane Doe' }
  ]
}).as('getUsers')

பின்னர் நீங்கள் `cy.wait('@getUsers')` ஐப் பயன்படுத்தி இடைமறிக்கப்பட்ட கோரிக்கைக்காகக் காத்திருக்கலாம் மற்றும் உங்கள் பயன்பாடு மாக் பதிலைச் சரியாகக் கையாள்கிறதா என்பதைச் சரிபார்க்கலாம்.

உள்ளூர் சேமிப்பகம் மற்றும் குக்கீகளுடன் பணிபுரிதல்

சைப்ரஸ் உள்ளூர் சேமிப்பகம் மற்றும் குக்கீகளுடன் தொடர்புகொள்வதற்கான கட்டளைகளை வழங்குகிறது. உங்கள் சோதனைகளில் உள்ளூர் சேமிப்பகம் மற்றும் குக்கீகளை அமைக்க, பெற மற்றும் அழிக்க இந்தக் கட்டளைகளைப் பயன்படுத்தலாம்.

ஒரு உள்ளூர் சேமிப்பக உருப்படியை அமைக்க, நீங்கள் `cy.window()` கட்டளையைப் பயன்படுத்தி விண்டோ ஆப்ஜெக்டை அணுகி, பின்னர் `localStorage.setItem()` முறையைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக:


cy.window().then((win) => {
  win.localStorage.setItem('myKey', 'myValue')
})

ஒரு உள்ளூர் சேமிப்பக உருப்படியைப் பெற, நீங்கள் `cy.window()` கட்டளையைப் பயன்படுத்தி, பின்னர் `localStorage.getItem()` முறையைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக:


cy.window().then((win) => {
  const value = win.localStorage.getItem('myKey')
  expect(value).to.equal('myValue')
})

ஒரு குக்கீயை அமைக்க, நீங்கள் `cy.setCookie()` கட்டளையைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக:


cy.setCookie('myCookie', 'myCookieValue')

ஒரு குக்கீயைப் பெற, நீங்கள் `cy.getCookie()` கட்டளையைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக:


cy.getCookie('myCookie').should('have.property', 'value', 'myCookieValue')

கோப்பு பதிவேற்றங்களைக் கையாளுதல்

சைப்ரஸ் `cypress-file-upload` என்ற ஒரு செருகுநிரலை வழங்குகிறது, இது உங்கள் சோதனைகளில் கோப்பு பதிவேற்றங்களை எளிதாக்குகிறது. செருகுநிரலை நிறுவ, பின்வரும் கட்டளையை இயக்கவும்:

npm install -D cypress-file-upload

பின்னர், உங்கள் `cypress/support/commands.js` கோப்பில் பின்வரும் வரியைச் சேர்க்கவும்:


import 'cypress-file-upload';

பின்னர் நீங்கள் `cy.uploadFile()` கட்டளையைப் பயன்படுத்தி ஒரு கோப்பைப் பதிவேற்றலாம். எடுத்துக்காட்டாக:


cy.get('input[type="file"]').attachFile('example.txt')

IFrame-களுடன் பணிபுரிதல்

IFrame-களைச் சோதிப்பது தந்திரமானதாக இருக்கலாம், ஆனால் சைப்ரஸ் அவற்றுடன் தொடர்புகொள்வதற்கான ஒரு வழியை வழங்குகிறது. ஒரு IFrame ஏற்றுவதற்கு காத்திருக்க `cy.frameLoaded()` கட்டளையைப் பயன்படுத்தலாம், பின்னர் IFrame-ன் டாக்குமெண்ட் ஆப்ஜெக்டைப் பெற `cy.iframe()` கட்டளையைப் பயன்படுத்தலாம்.


cy.frameLoaded('#myIframe')
cy.iframe('#myIframe').find('button').click()

சைப்ரஸ் மற்றும் தொடர்ச்சியான ஒருங்கிணைப்பு/தொடர்ச்சியான வரிசைப்படுத்தல் (CI/CD)

உங்கள் CI/CD பைப்லைனில் சைப்ரஸை ஒருங்கிணைப்பது உங்கள் பயன்பாட்டின் தரத்தை உறுதிப்படுத்த அவசியம். உங்கள் CI/CD சூழலில் சைப்ரஸ் சோதனைகளை ஹெட்லெஸ் பயன்முறையில் இயக்கலாம். அது எப்படி என்பது இங்கே:

  1. சைப்ரஸை நிறுவவும்: உங்கள் ப்ராஜெக்ட்டில் சைப்ரஸ் ஒரு சார்புநிலையாக நிறுவப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்.
  2. CI/CD-ஐ உள்ளமைக்கவும்: ஒவ்வொரு பில்டுக்குப் பிறகும் சைப்ரஸ் சோதனைகளை இயக்க உங்கள் CI/CD பைப்லைனை உள்ளமைக்கவும்.
  3. சைப்ரஸை ஹெட்லெஸ் முறையில் இயக்கவும்: சைப்ரஸ் சோதனைகளை ஹெட்லெஸ் பயன்முறையில் இயக்க `cypress run` கட்டளையைப் பயன்படுத்தவும்.

எடுத்துக்காட்டு CI/CD உள்ளமைவு (GitHub Actions பயன்படுத்தி):


name: Cypress Tests

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  cypress-run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      - name: Install dependencies
        run: npm install
      - name: Cypress run
        uses: cypress-io/github-action@v5
        with:
          start: npm start
          wait-on: 'http://localhost:3000'

இந்த உள்ளமைவு, `main` கிளைக்கு குறியீடு புஷ் செய்யப்படும்போதோ அல்லது `main` கிளைக்கு எதிராக ஒரு புல் கோரிக்கை உருவாக்கப்படும்போதோ சைப்ரஸ் சோதனைகளை இயக்கும். `cypress-io/github-action` செயல்பாடு GitHub Actions-இல் சைப்ரஸ் சோதனைகளை இயக்கும் செயல்முறையை எளிதாக்குகிறது.

சைப்ரஸ் சோதனைகளைப் பிழைத்திருத்துதல்

உங்கள் சோதனைகளில் உள்ள சிக்கல்களைக் கண்டறிந்து சரிசெய்ய உங்களுக்கு உதவ சைப்ரஸ் சிறந்த பிழைத்திருத்தும் கருவிகளை வழங்குகிறது. சைப்ரஸ் சோதனைகளைப் பிழைத்திருத்துவதற்கான சில குறிப்புகள் இங்கே:

சைப்ரஸ் மற்றும் பிற சோதனை கட்டமைப்புகள்

சைப்ரஸ் ஒரு சக்திவாய்ந்த எண்ட்-டு-எண்ட் சோதனை கட்டமைப்பாக இருந்தாலும், அது மற்ற பிரபலமான விருப்பங்களுடன் எவ்வாறு ஒப்பிடுகிறது என்பதைப் புரிந்துகொள்வது அவசியம். இங்கே ஒரு சுருக்கமான கண்ணோட்டம்:

கட்டமைப்பின் தேர்வு உங்கள் ப்ராஜெக்ட்டின் குறிப்பிட்ட தேவைகள் மற்றும் தேவைகளைப் பொறுத்தது. வேகமான, நம்பகமான, மற்றும் டெவலப்பர்களுக்கு ஏற்ற எண்ட்-டு-எண்ட் சோதனை தேவைப்படும் நவீன இணையப் பயன்பாடுகளுக்கு சைப்ரஸ் ஒரு சிறந்த தேர்வாகும்.

செயல்பாட்டில் சைப்ரஸின் நிஜ-உலக எடுத்துக்காட்டுகள்

வெவ்வேறு வகையான இணையப் பயன்பாடுகளைச் சோதிக்க சைப்ரஸை எவ்வாறு பயன்படுத்தலாம் என்பதற்கான சில நிஜ-உலக எடுத்துக்காட்டுகளை ஆராய்வோம்:

ஒரு இ-காமர்ஸ் பயன்பாட்டைச் சோதித்தல்

ஒரு இ-காமர்ஸ் பயன்பாட்டில் பல்வேறு பயனர் ஓட்டங்களைச் சோதிக்க சைப்ரஸைப் பயன்படுத்தலாம், அதாவது:

ஒரு பயனர் வெற்றிகரமாக ஒரு பொருளைத் தங்கள் கார்ட்டில் சேர்க்க முடியும் என்பதைச் சரிபார்க்கும் ஒரு சைப்ரஸ் சோதனைக்கான எடுத்துக்காட்டு இங்கே:


it('Adds a product to the cart', () => {
  cy.visit('/products')
  cy.get('.product-card').first().find('button').click()
  cy.get('.cart-count').should('have.text', '1')
})

ஒரு சமூக ஊடக பயன்பாட்டைச் சோதித்தல்

ஒரு சமூக ஊடக பயன்பாட்டில் பயனர் தொடர்புகளைச் சோதிக்க சைப்ரஸைப் பயன்படுத்தலாம், அதாவது:

ஒரு பயனர் வெற்றிகரமாக ஒரு புதிய பதிவை உருவாக்க முடியும் என்பதைச் சரிபார்க்கும் ஒரு சைப்ரஸ் சோதனைக்கான எடுத்துக்காட்டு இங்கே:


it('Creates a new post', () => {
  cy.visit('/profile')
  cy.get('#new-post-textarea').type('Hello, world!')
  cy.get('#submit-post-button').click()
  cy.get('.post').first().should('contain', 'Hello, world!')
})

ஒரு வங்கி பயன்பாட்டைச் சோதித்தல்

வங்கி பயன்பாடுகளுக்கு, சைப்ரஸை முக்கியமான செயல்பாடுகளைச் சோதிக்கப் பயன்படுத்தலாம், அதாவது:

ஒரு நிதிப் பரிமாற்றத்தைச் சரிபார்க்கும் ஒரு சோதனை இதுபோன்று இருக்கலாம் (பாதுகாப்புக்காக பொருத்தமான ஸ்டப்பிங்குடன்):


it('Transfers funds successfully', () => {
  cy.visit('/transfer')
  cy.get('#recipient-account').type('1234567890')
  cy.get('#amount').type('100')
  cy.intercept('POST', '/api/transfer', { statusCode: 200, body: { success: true } }).as('transfer')
  cy.get('#transfer-button').click()
  cy.wait('@transfer')
  cy.get('.success-message').should('be.visible')
})

முடிவுரை

சைப்ரஸ் ஒரு சக்திவாய்ந்த மற்றும் பல்துறை எண்ட்-டு-எண்ட் சோதனை கட்டமைப்பாகும், இது உங்கள் இணையப் பயன்பாடுகளின் தரத்தையும் நம்பகத்தன்மையையும் உறுதிப்படுத்த உதவும். அதன் டெவலப்பர்களுக்கு ஏற்ற API, சக்திவாய்ந்த அம்சங்கள், மற்றும் சிறந்த செயல்திறன் ஆகியவை உலகெங்கிலும் உள்ள டெவலப்பர்கள் மற்றும் QA பொறியாளர்கள் மத்தியில் பிரபலமான தேர்வாக அமைகின்றன. இந்த வழிகாட்டியில் கோடிட்டுக் காட்டப்பட்டுள்ள சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், மேம்பாட்டுச் செயல்பாட்டில் ஆரம்பத்திலேயே பிழைகளைக் கண்டறியவும், உங்கள் பயனர்களுக்கு உயர்தர மென்பொருளை வழங்கவும் உதவும் பயனுள்ள சைப்ரஸ் சோதனைகளை நீங்கள் எழுதலாம்.

இணையப் பயன்பாடுகள் தொடர்ந்து বিকশিতமாகும்போது, எண்ட்-டு-எண்ட் சோதனையின் முக்கியத்துவம் மேலும் அதிகரிக்கும். சைப்ரஸை ஏற்றுக்கொண்டு, அதை உங்கள் மேம்பாட்டுப் பணிப்பாய்வுகளில் ஒருங்கிணைப்பது, மேலும் வலுவான, நம்பகமான, மற்றும் பயனர்களுக்கு ஏற்ற இணைய அனுபவங்களை உருவாக்க உங்களுக்கு அதிகாரம் அளிக்கும்.