የሳይፕረስ ማረጋገጫ፡ ልታውቃቸው የሚገቡ 9 እውነታዎች

ሳይፕረስ ማረጋገጫ የሚጠበቀው ውጤት ከትክክለኛው ውጤት ጋር እኩል መሆኑን የሚያረጋግጡ የማረጋገጫ ደረጃዎች መሆናቸውን እንድንገልጽ ይረዳናል። በሙከራ አውቶሜሽን፣ ፈተናው የሚጠበቀውን ውጤት እያስገኘ መሆኑን ለማረጋገጥ መግለጫ እናስገባለን። ማረጋገጫው ካልተሳካ፣ እንግዲያውስ የፍተሻ ጉዳዩ ስህተት መኖሩን በማረጋገጥ ከሽፏል። በዚህ ጽሑፍ ውስጥ ስለ እንነጋገራለን ሳይፕረስ ማረጋገጫ ከሃንድሰን አተገባበር እና ምሳሌዎች ጋር.

ይዘት ማውጫ

ሳይፕረስ ማረጋገጫ

ሳይፕረስ ማረጋገጫ ምንድን ነው?

ሳይፕረስ የቻይ ማረጋገጫ ቤተ-መጽሐፍትን እና እንደ Sinon እና JQuery ያሉ ቅጥያዎችን ይጠቀማል እና ይጠቀልላል። ሳይፕረስ በራስ-ሰር ይጠብቃል እና ማረጋገጫው መፍትሄ እስኪያገኝ ድረስ ይሞክራል። አፕሊኬሽኑ እንዴት መምሰል እንዳለበት ለመግለጽ ማረጋገጫዎችን መጠቀም ይቻላል። የሳይፕረስ ማረጋገጫዎችን ከተጠባባቂዎች ጋር በማጣመር መጠቀም እንችላለን, እንደገና ይሞክሩ, ወደሚፈለገው ሁኔታ እስኪደርስ ድረስ ማገድ.

ሳይፕረስ አስርት ጽሑፍ

በአጠቃላይ እንግሊዘኛ፣ አንድን ማረጋገጫ እንደ፡- ቁልፉ የመግቢያ ጽሑፍ እንዲኖረው እጠብቃለሁ።. ተመሳሳዩ ማረጋገጫ በሳይፕረስ ውስጥ ሊፃፍ ይችላል

cy.get('button').should('have.value', 'login')

አዝራሩ የመግቢያ ዋጋ ካለው ከላይ ያለው ማረጋገጫ ያልፋል።

ሳይፕረስ የጋራ ማረጋገጫዎች

በፈተና ጉዳዮቻችን ውስጥ የምንጠቀምባቸው የተለመዱ የሳይፕረስ ማረጋገጫዎች አሉ። ጋር እንጠቀማቸዋለን .should() . የአጠቃቀም ሁኔታዎችን እና ምሳሌዎችን እንመልከት ።

አንዳንድ የተለመዱ የሳይፕረስ ማረጋገጫዎች ከዚህ በታች ተዘርዝረዋል።

  1. ርዝመት
  2. ዋጋ
  3. የጽሑፍ አውድ
  4. መደብ
  5. መኖር
  6. የሲ ኤስ ኤስ
  7. ለማየት መቻል
  8. ሁኔታ
  9. የአካል ጉዳተኛ ንብረት

ሳይፕረስ ርዝመት ማረጋገጫ

length() የተወሰነው አካል ርዝመት እንዳለው ያረጋግጣል

cy.get('dropdown').should('have.length', 5)

ሳይፕረስ ዋጋ ማረጋገጫ

የሳይፕረስ እሴቱ የተወሰነው ንጥረ ነገር የሚጠበቀው እሴት ካለው ያረጋግጣል

cy.get('textfield').should('have.value', 'first name')

የሳይፕረስ ጽሑፍ አውድ ማረጋገጫ

የጽሑፍ አውድ ኤለመንት የተወሰነ ጽሑፍ እንዳለው ያረጋግጣል

cy.get('#user-name').should('have.text', 'John Doe')

ሳይፕረስ ክፍል ማረጋገጫ

ክፍሉ መኖሩን ወይም የተለየ አካል ክፍሉ ሊኖረው እንደሚገባ ያረጋግጣል

cy.get('form').find('input').should('have.class', 'disabled')

ሳይፕረስ ህልውና ማረጋገጫ

የህልውና ትዕዛዝ የተወሰነው አካል በ DOM ውስጥ መኖሩን ወይም አለመኖሩን ያረጋግጣል

cy.get('#button').should('exist')

ሳይፕረስ CSS ማረጋገጫ

የCSS ማረጋገጫ የተወሰኑ ንጥረ ነገሮች የተወሰነ ንብረት እንዳላቸው ያረጋግጣል

cy.get('.completed').should('have.css', 'text-decoration', 'line-through')

ሳይፕረስ የታይነት ማረጋገጫ

የሳይፕረስ ታይነት ማረጋገጫ የDOM ኤለመንት በዩአይዩ ውስጥ ይታይ እንደሆነ ያረጋግጣል

cy.get('#form-submit').should('be.visible')

ሳይፕረስ ግዛት ማረጋገጫ

የ DOM ኤለመንት ሁኔታን ያረጋግጣል

cy.get(':radio').should('be.checked')

የሳይፕረስ የአካል ጉዳተኛ ንብረት ማረጋገጫ

ሳይፕረስ የተሰናከለ የንብረት ማረጋገጫ ኤለመንቱ መጥፋቱን ያረጋግጣል

cy.get('#example-input').should('be.disabled')

ሳይፕረስ እንደገና ሞክር ማረጋገጫ

አንድ ነጠላ ትእዛዝ ከማረጋገጫ ጋር የተከተለ በቅደም ተከተል ይከናወናል። መጀመሪያ ላይ ትዕዛዙ ይፈጸማል ከዚያም ማረጋገጫው ይፈጸማል. አንድ ነጠላ ትዕዛዝ ከብዙ ማረጋገጫዎች በኋላ በቅደም ተከተል ይከናወናል - የመጀመሪያ እና ሁለተኛ ማረጋገጫ። ስለዚህ የመጀመሪያው ማረጋገጫ ሲያልፍ, የመጀመሪያው እና ሁለተኛው ማረጋገጫ ከትእዛዞች ጋር እንደገና ይፈጸማል.

ለምሳሌ, ከታች ያለው ትዕዛዝ ሁለቱንም ያካትታል .should().and() የማረጋገጫ ትዕዛዞች, የት .and() በሌላ መልኩ ይታወቃል .should()

cy.get ('.todo-list li') // ትዕዛዝ . አለበት ('ርዝመት. 2) // ማረጋገጫ .and(($li) => {// 2 ተጨማሪ ማረጋገጫዎች ይጠብቃሉ($li.get) (0).textContent፣ 'የመጀመሪያ ንጥል')። ወደ.እኩል('ቶዶ A') መጠበቅ($li.get(1)።textContent፣ 'ሁለተኛ ንጥል')።ወደ.እኩል('ቶዶ ለ')})

የሳይፕረስ ማረጋገጫ ምሳሌዎች

በዚህ ክፍል ውስጥ እንደ ሳይፕረስ ባሉ የተለያዩ የማረጋገጫ ዓይነቶች ላይ እንነጋገራለን

  • ስውር ማረጋገጫ
  • ግልጽ ማረጋገጫ

ሁለቱንም ዓይነቶች በምሳሌዎች በዝርዝር እንመለከታለን

በሳይፕረስ ውስጥ ስውር መግለጫ

በተዘዋዋሪ መግለጫ, እንጠቀማለን .should() or .and() ያዛል። እነዚህ የማረጋገጫ ትዕዛዞች በአሁኑ ጊዜ በትእዛዞች ሰንሰለት ውስጥ ባለው ርዕሰ ጉዳይ ላይ ተፈጻሚ ይሆናሉ። ቀደም ሲል በተሰጠው ርዕሰ ጉዳይ ላይ ጥገኛ ናቸው.

እንዴት መጠቀም እንዳለብን አንድ ምሳሌ እንመለከታለን .should() or .and() ትዕዛዞች

cy.get('አዝራር') አለበት ('ክፍል ሊኖረው'፣ 'ነቅቷል')

ጋር .and() ይህም ተለዋጭ ስም ነው። .should() ብዙ ማረጋገጫዎችን በሰንሰለት ማድረግ እንችላለን። እነዚህ ትዕዛዞች የበለጠ ሊነበቡ የሚችሉ ናቸው።

cy.get('#ርዕስ') . አለበት ('ክፍል ሊኖረው፣ 'ገባሪ') .እና ('have.attr'፣ 'href'፣ '/post')

ከላይ ያለው ምሳሌ በሰንሰለት ታስሯል። .should() ክፍሉ "ገባሪ" ሊኖረው እንደሚገባ በመግለጽ እና በመቀጠል .and() በተመሳሳዩ ትዕዛዝ ነው የሚፈጸመው. ብዙ ትዕዛዞችን ማረጋገጥ ስንፈልግ ይህ በጣም አጋዥ ነው።

በሳይፕረስ ውስጥ ግልጽ መግለጫ

በማረጋገጫዎቹ ውስጥ ግልጽ የሆነ ርዕሰ ጉዳይ ማለፍ በግልፅ የሳይፕረስ ማረጋገጫ አይነት ስር ነው። እዚህ, እንጠቀማለን expectassert እንደ ማረጋገጫ. ለተመሳሳይ ርዕሰ ጉዳይ ብዙ ማረጋገጫዎችን ለመጠቀም ስንፈልግ ግልጽ ማረጋገጫዎች ጥቅም ላይ ይውላሉ። እኛ ደግሞ ውስጥ ግልጽ ማረጋገጫ እንጠቀማለን። ብጁ ማድረግ ስንፈልግ ሳይፕረስ አመክንዮ ከመናገሩ በፊት።

ወደ ውስጥ እንመለከታለን ለምሳሌ ግልጽ ሳይፕረስ ማረጋገጫ

መጠበቅ(እውነት)።እውነት መሆን//የቦሊያን መጠበቅ(ነገር)።ወደ.እኩል(ነገር) ያረጋግጣል።

አሉታዊ ሳይፕረስ ማረጋገጫ

ከአዎንታዊ መግለጫዎች ጋር በሚመሳሰል መልኩ፣ በሳይፕረስ ውስጥ አሉታዊ ማረጋገጫዎች አሉ። የማረጋገጫ መግለጫው ቅድመ ቅጥያ ላይ የተጨመረውን "አይደለም" ቁልፍ ቃል እንጠቀማለን. የአሉታዊ መግለጫዎችን ምሳሌ እንመልከት

cy.get('#loading').should('not.be.visible')

አሉታዊ ማረጋገጫ የሚመከር በመተግበሪያው አንድ የተወሰነ እርምጃ ከተወሰደ በኋላ አንድ የተወሰነ ሁኔታ ከአሁን በኋላ እንደማይገኝ ለማረጋገጥ ብቻ ነው።

ለምሳሌ፣ መቀያየሪያው መፈተሸ እና መወገዱን እናረጋግጥ

// መጀመሪያ ላይ ንጥሉ እንደተጠናቀቀ ምልክት ተደርጎበታል cy.contains ('li.todo', 'ፈተናዎችን ጻፍ') . አለበት ("ክፍል" , 'የተጠናቀቀ') .ፈልግ ('. መቀያየር') .ጠቅ አድርግ () / / የ CSS ክፍል ተወግዷል cy.contains ('li.todo', 'ፈተናዎች ጻፍ') አለበት ('የሌለው.class. የላቸውም', 'የተጠናቀቀ')

የሳይፕረስ ብጁ ማረጋገጫ መልእክት

በሳይፕረስ፣ የተዛማጆች ቤተ-መጽሐፍትን በመጠቀም ተጨማሪ መረጃ ወይም ብጁ መልእክት ለ ማረጋገጫ ማቅረብ እንችላለን። ተዛማጆች እሴቶችን የሚለዩ እና ዝርዝር የስህተት መልእክት የሚጥሉ ትናንሽ ተግባራትን ያቀፈ ነው። Chai የማረጋገጫ ቤተ-መጽሐፍት የእኛ ኮድ የበለጠ ሊነበብ የሚችል እና የፈተና ውድቀት በጣም ጠቃሚ ሆኖ እንዲታይ ያግዘዋል

const expect = ተፈላጊ('chai') .ይጠብቀው('ቁጥሩን ይፈትሻል'፣ () => {const value = 10 const ይጠበቃል = 3 መጠበቅ(ዋጋ)።ቶ.እኩል(የሚጠበቀው)})
የሳይፕረስ ብጁ የስህተት መልእክት

የሳይፕረስ ማረጋገጫ ምርጥ ልምዶች

የትእዛዝ ሰንሰለት በመጠቀም በአንድ ብሎክ ውስጥ ብዙ ማረጋገጫዎችን መፃፍ እንችላለን። እንደ ዩኒት ፈተናዎች ነጠላ ማረጋገጫ መጻፍ አስፈላጊ አይደለም. ብዙዎች ከዚህ በታች ያሉትን ማረጋገጫዎች ይጽፋሉ። በዚህ መንገድ መፃፍ ምንም ችግር የለውም፣ ግን የኮድ መስመርን እና ድግግሞሽን ይጨምራል።

ይግለጹ ('የእኔ ቅጽ', () => {ከፊት(() => {cy.visit('/users/new') cy.get('#first')።ይተይቡ('shok')}) it() 'has validation attribute', () => { cy.get('#first')። አለበት('have.attr', 'data-validation', 'required') // #የመጀመሪያው ተፈላጊ መስክ እንዳለው ማረጋገጥ } ) it('አክቲቭ ክፍል አለው', () => {cy.get('#first')። አለበት('have.class', 'active') // #የመጀመሪያው ንቁ ክፍል እንዳለው ማረጋገጥ }) እሱ() 'has formatted first name', () => { cy.get('#first')። አለበት('have.value', 'Ashok') //የመጀመሪያው #የመጀመሪያው ፊደላት አቢይ ማድረጉን ያረጋግጣል })})

ከላይ እንደተመለከቱት, ተመሳሳይ መራጭ እና ማረጋገጫ አይነት እየደጋገመ ነው. በምትኩ፣ እነዚህን ትእዛዛት በአንድ ነጠላ አረፍተ ነገር በሰንሰለት እናያቸዋለን፣ ይህም ሁሉንም ቼኮች በመስመራዊ ፋሽን ነው።

ይግለጹ ('የእኔ ቅጽ', () => {ከዚህ በፊት (() => {cy.visit('/users/new') }) እሱ ('የመጀመሪያ ስም ያጸድቃል እና ይቀርጻል'፣) => {cy.get ('#የመጀመሪያው') .አይነት('shok') .አለበት ('have.attr', 'data-validation', 'required') .እሴት'፣ 'አሾክ') }) })

ከላይ እንደተጠቀሰው ነጠላውን መራጭ በበርካታ ማረጋገጫዎች ሰንሰለት ልናደርገው እንችላለን! ይህ በሳይፕረስ ውስጥ ከሚመከሩት ምርጥ የአጻጻፍ ልምዶች አንዱ ነው።

በሳይፕረስ ውስጥ ስላለው የገጽ ነገር ሞዴል ለመረዳት፣ ጠቅ ያድርጉ እዚህ.

ወደ ላይ ሸብልል