ሳይፕረስ ጄሰን ምንድን ነው፡ ማወቅ ያለብዎት 11 እውነታዎች

በኮዳችን ውስጥ JSON ለመጻፍ ስለ JSON መዋቅር፣ ምሳሌዎች እና ዝርዝር የተግባር ተሞክሮ እንነጋገራለን። ግን በመጀመሪያ ወደ ጽሑፋችን እንዝለቅ!

ሳይፕረስ Json ምንድን ነው፡ ምሳሌ፣ እቅድ፣ ዝርዝር የእጅ-ላይ ትንተና

በቀደመው በኛ ጽሑፍተለዋዋጮችን እና ተለዋጭ ስሞችን እና የመጀመሪያውን የፈተና ኬዝ እንዴት እንደምንጽፍ ተወያይተናል። አሁን፣ ስለ ሳይፕረስ JSON እና እንዴት ወደ ኮዳችን እንደምናካትተው እንወያያለን።

ሳይፕረስ json

ዝርዝር ሁኔታ

ሳይፕረስ JSON ፋይል

ቀደም ሲል እንዳየነው የሳይፕረስ ፈተና ሯጭን ለመጀመሪያ ጊዜ ስንከፍት ሀ ሳይፕረስ.json ፋይል. ይህ ፋይል የምንፈልጋቸውን ማናቸውንም የውቅር እሴቶች ለማለፍ ይጠቅማል። ስለዚህ በመጀመሪያ, በእኛ ውስጥ ማለፍ የምንችላቸውን አማራጮች እንመለከታለን cypress.json ፋይል.

ነባሪ JSON አማራጮች

በሳይፕረስ ውስጥ የተወሰኑ አማራጮች በነባሪነት ተቀናብረዋል። ሆኖም ግን, በፕሮጀክታችን መሰረት ማበጀት እንችላለን. በሳይፕረስ የተዘጋጁ ነባሪ እሴቶችን ለመለየት ወደ ቅንብሮች አቃፊ በእኛ የሳይፕረስ ሙከራ ሯጭ ውስጥ። ከዚያ በሳይፕረስ የተዘጋጁ ነባሪ አማራጮችን ለማየት የማዋቀር አማራጩን ያስፋፉ።

ሳይፕረስ JSON ፋይል

አማራጮቹ በሳይፕረስ የቀረቡ ነባሪ ውቅሮች ናቸው።

{
animationDistanceThreshold:5
baseUrl:null
blockHosts:null
browsers:Chrome, Firefox, Electron
chromeWebSecurity:true
component:{}
componentFolder:"cypress/component"
defaultCommandTimeout:4000
downloadsFolder:"cypress/downloads"
e2e:{}
env:null
execTimeout:60000
experimentalFetchPolyfill:false
experimentalInteractiveRunEvents:false
experimentalSourceRewriting:false
experimentalStudio:false
fileServerFolder:""
firefoxGcInterval:runMode, openMode
fixturesFolder:"cypress/fixtures"
hosts:null
ignoreTestFiles:".hot-update.js" includeShadowDom:false integrationFolder:"cypress/integration" modifyObstructiveCode:true nodeVersion:"default" numTestsKeptInMemory:50 pageLoadTimeout:60000 pluginsFile:"cypress/plugins" port:null projectId:"hpcsem" redirectionLimit:20 reporter:"spec" reporterOptions:null requestTimeout:5000 responseTimeout:30000 retries:runMode, openMode screenshotOnRunFailure:true screenshotsFolder:"cypress/screenshots" scrollBehavior:"top" supportFile:"cypress/support" taskTimeout:60000 testFiles:"/.*"
trashAssetsBeforeRuns:true
userAgent:null
video:true
videoCompression:32
videosFolder:"cypress/videos"
videoUploadOnPasses:true
viewportHeight:660
viewportWidth:1000
waitForAnimations:true
watchForFileChanges:true
}

አማራጮች

ከፕሮጀክታችን ጋር የሚስማሙ ማናቸውንም ክርክሮች በማለፍ የሳይፕረስ ነባሪ አማራጮችን መለወጥ እንችላለን። ስሙ እንደሚያመለክተው፣ ሳይፕረስ.json የJSON ፋይል ነው፣ ስለዚህ ክርክራችንን በJSON ቅርጸት ማስተላለፍ አለብን። በእኛ ቪኤስ ኮድ ውስጥ፣ cypress.json ምንም ክርክሮች ሳይተላለፉ ባዶ መሆኑን ማየት ይችላሉ። አሁን በእኛ JSON ፋይል ውስጥ ማለፍ የምንችላቸውን የተለያዩ አማራጮችን እንይ።

ዓለም አቀፍ አማራጮች

ዓለም አቀፋዊ አማራጮችን በዓለም አቀፍ ደረጃ ሊደረስባቸው ለሚፈልጉ ክርክሮች ማስተላለፍ እንችላለን. ለምሳሌ፣ ከታች ባለው ሠንጠረዥ ውስጥ፣ የአማራጮች አምድ በእኛ JSON ፋይል ውስጥ የምናስተላልፈውን ቁልፍ ቃል ይወክላል። ነባሪ በሳይፕረስ የተቀመጠውን የተወሰነ አማራጭ ነባሪ እሴት ያሳያል፣ እና መግለጫው የአማራጩን ትርጉም ያሳያል።

አማራጭነባሪመግለጫ
baseUrlnullበእያንዳንዱ ፋይል ውስጥ ከማለፍ ይልቅ ዩአርኤሉን በአለምአቀፍ ደረጃ ማዘጋጀት እንችላለን። ጥቅም ላይ ሊውል ይችላል cy.visit() or cy.request() ትዕዛዞች
clientCertificates[]ይህንን አማራጭ የደንበኛ የምስክር ወረቀቶችን በዩአርኤል መሰረት ለማዋቀር መጠቀም ይችላሉ።
env{}ማንኛውንም የአካባቢ ተለዋዋጮች እንደ እሴት ማለፍ ይችላሉ። አፕሊኬሽኑን በተለያዩ አካባቢዎች ለምሳሌ በማዘጋጀት ወይም በማምረት የምንሞክር ከሆነ ይህ አማራጭ ጠቃሚ ይሆናል።
watchForFileChangestrueይህ አማራጭ በማንኛውም የፋይል ለውጦች ላይ የሳይፕረስ ሰዓቶችን እና ሙከራዎችን እንደገና ያስጀምራል የሚለውን ያረጋግጣል።
portnullሳይፕረስን በማስተናገድ የወደብ ቁጥሩን ማለፍ እንችላለን። የዘፈቀደ ወደብ ይፈጠራል፣ ግን የምንፈልገውን የወደብ ቁጥር ማከል እንችላለን።
numTestsKeptInMemory50ይህ አማራጭ በማህደረ ትውስታ ውስጥ የተከማቹ የሙከራ ቅጽበተ-ፎቶዎች እና ትዕዛዞች ውሂብ ብዛት ነው። በሙከራ ጊዜ በአሳሹ ውስጥ ከፍተኛ የማህደረ ትውስታ ፍጆታ ካለ ቁጥሩን መቀነስ እንችላለን።
retries{ "runMode": 0, "openMode": 0 }ይህ አማራጭ ያልተሳካ ሙከራን እንደገና ለመሞከር ስንት ጊዜዎችን መግለጽ ነው። ለየብቻ ማዋቀር እንችላለን ሳይፕረስ ሩጫ ና ሳይፕረስ ክፍት.
redirectionLimit20ስህተት ከመከሰቱ በፊት አፕሊኬሽኑ ወደ ሌላ አቅጣጫ የሚቀየርበትን ጊዜ ገደብ ማዋቀር እንችላለን።
includeShadowDomfalseከንጥረ ነገሮች ጋር ለመግባባት በ Shadow DOM ውስጥ የማሰስ ችሎታ። በነባሪ፣ ወደ ሐሰት ተቀናብሯል። የእኛ መተግበሪያ የጥላ ስር ዳሰሳን የሚፈልግ አካል ካለው፣ እሱን ማዋቀር ይችላሉ። true.

ሳይፕረስ JSON ጊዜው አልፎበታል።

የጊዜ ማብቂያ በማንኛውም አውቶሜሽን ማዕቀፍ ውስጥ ካሉት በጣም አስፈላጊ ጽንሰ-ሐሳቦች ውስጥ አንዱ ነው። ሳይፕረስ በእኛ ስክሪፕቶች ውስጥ የጊዜ ማብቂያዎችን ለማስተናገድ የሚረዱ የተለያዩ አማራጮችን ይሰጣል። በመጀመሪያ, እኛ ማዋቀር የምንችለውን አማራጮች እንመለከታለን.

አማራጭነባሪመግለጫ
defaultCommandTimeout4000ይህ አማራጭ በ DOM Elements ላይ የተመሰረቱ ትዕዛዞች እስኪጫኑ ድረስ መጠበቅ ነው። ይህ በሚሊሰከንዶች ነው።
requestTimeout5000ጊዜ፣ በሚሊሰከንዶች፣ የcy.wait() ትዕዛዝ ጥያቄ እስኪያበቃ ድረስ የሚጠብቅ።
responseTimeout30000ይህ የጊዜ ማብቂያ እንደ ተከታታይ ትዕዛዞች ምላሽ እስኪሰጥ መጠበቅ ነው።  cy.request()cy.wait()cy.fixture()cy.getCookie()
cy.getCookies()cy.setCookie()cy.clearCookie()cy.clearCookies(), እና cy.screenshot() ትዕዛዞች
taskTimeout60000ለአፈፃፀም ማጠናቀቂያ ጊዜ፣ በሚሊሰከንዶች cy.task() ትእዛዝ
execTimeout60000ይህ ጊዜ በሚሊሰከንዶች ውስጥ የድርጊቱን አፈፃፀም ለመጨረስ መጠበቅ ነው። cy.exec() ትእዛዝ ፣
የስርዓት ትዕዛዝ ማጠናቀቅ ነው
pageLoadTimeout60000ይህ የጊዜ ማብቂያ ይጠብቃል። page navigation events ወይም መስተጋብር የሚፈጥሩ ትዕዛዞች
ከገጾቹ ጋር cy.visit()cy.go()cy.reload()

ሳይፕረስ JSON ፋይል አንብብ

አንዳንድ ጊዜ በፕሮጀክታችን ውስጥ ካሉ ማህደሮች ወይም ፋይሎች ጋር መስተጋብር መፍጠር እንፈልጋለን። መስተጋብር ለመፍጠር፣ በእኛ ውስጥ የተወሰኑ አማራጮችን ማዘጋጀት አለብን cypress.json ፋይሎችን ለማቀናበር ፋይል ያድርጉ። ስለዚህ፣ በመጀመሪያ፣ በአቃፊዎቻችን/ፋይሎች ውቅር ውስጥ ያሉትን አማራጮች እንመልከት።

አማራጭነባሪመግለጫ
downloadsFoldercypress/downloadsይህ በሙከራ ጊዜ ፋይሎቹ የሚወርዱበት እና የሚከማቹበት መንገድ ነው።
fixturesFoldercypress/fixturesይህ ቋሚ ፋይሎችን ወደያዘው አቃፊ የሚወስደው መንገድ ነው። ማለፍ እንችላለን false ፋይሎችን ማከማቸት ለማሰናከል.
ignoreTestFiles*.hot-update.jsYou can pass this as a string or array of global patterns to ignore test files for the test run. However, it would be displayed in the test files.
integrationFoldercypress/integrationየውህደት ሙከራ ፋይሎች በዚህ መንገድ ወደ አቃፊው ይቀመጣሉ።
pluginsFilecypress/plugins/index.jsይህ መንገድ ተሰኪዎቹ የሚቀመጡበት ነው። ይህንን ውቅር ለማሰናከል ክርክሩን እንደ ውሸት ማለፍ ይችላሉ።
screenshotsFoldercypress/screenshotsScreenshots from the execution of cy.screenshot() command and test failure during cypress run are stored in this foldersupportFilecypress/support/index.jsHere the test files that load before the test are stored. You have the option to disable by passing false
testFiles**/*.*መጫን ወደሚያስፈልጋቸው የፈተና ፋይሎች ዱካ። እሱ ሕብረቁምፊ ወይም ድርድር ነው።
videosFoldercypress/videosበሙከራ አፈጻጸም ጊዜ ቪዲዮዎችን የሚያከማች የአቃፊ መንገድ

ቅጽበታዊ ገጽ እይታዎች እና የቪዲዮ አማራጮች

ቅጽበተ-ፎቶዎቻችንን እና ቪዲዮዎችን በእኛ cypress.json() ፋይል ውስጥ ማዋቀር እንችላለን፣ እና ሳይፕረስ የእኛን ውቅረት ለማበጀት አንዳንድ አማራጮችን ይሰጠናል።

አማራጭነባሪመግለጫ
screenshotOnRunFailuretrueሳይፕረስ በፈተና ውድቀት ወቅት የሳይፕረስ ስክሪን ሾት ሲያደርግ ወደ እውነት ወይም ሀሰት የማዋቀር አማራጭ። ተዘጋጅቷል። true በነባሪነት
trashAssetsBeforeRunstrueይህ አማራጭ በ ውስጥ ያሉ ንብረቶችን መጣስ ነው። videosFolder, downloadsFolderscreenshotsFolder ከእያንዳንዱ በፊት cypress run
videoCompression32ይህ አማራጭ በቋሚ ፍጥነት ምክንያት (CRF) ውስጥ የሚለካው የቪዲዮ መጭመቂያ ጥራት ነው። በማለፍ false, ይህን አማራጭ ማሰናከልም ይችላሉ. ዝቅተኛው እሴት የተሻለ ጥራት በሚሰጥበት ከ0 ወደ 51 እሴቶችን ማለፍ ይችላሉ።
videosFoldercypress/videosየፈተናዎቹ ቪዲዮ የተቀመጠበት አቃፊ።
videotrueየሙከራ አፈፃፀም ቪዲዮን ለመቅረጽ የቦሊያን እሴት cypress run.
videoUploadOnPassestrueይህ አማራጭ በአንድ የተወሰነ ፋይል ውስጥ ያሉ ሁሉም የሙከራ ጉዳዮች በሚያልፉበት ጊዜ ቪዲዮዎችን ወደ ዳሽቦርድ መስቀል ነው።

የእይታ እይታ እና ተግባራዊነት

በሳይፕረስ በተሰጡት አማራጮች የመመልከቻውን ቁመት እና ስፋት ለመለወጥ እሴቶችን ማዋቀር እና ማለፍ ይችላሉ። የተግባር አማራጮችም ሊዋቀሩ ይችላሉ።

አማራጭነባሪመግለጫ
viewportHeight660ይህ ለመተግበሪያው ነባሪውን ቁመት በፒክሰሎች ለማቅረብ ነው። ይህንን ትእዛዝ በሚከተሉት መሻር እንችላለን cy.viewport()
viewportWidth1000ለመተግበሪያው የእይታ ስፋት በፒክሰሎች ውስጥ አማራጭ። ጋር መሻር ይቻላል። cy.viewport() ትዕዛዝ.
animationDistanceThreshold5የመነሻ ዋጋ በፒክሰሎች የሚለካው የርቀቱ መጠን አንድ ኤለመንት የሚሠራበትን ጊዜ ግምት ውስጥ በማስገባት መብለጥ አለበት።
waitForAnimationstrueማንኛውንም ትዕዛዝ ከማድረግዎ በፊት ንጥረ ነገሮቹ እነማውን እስኪያጠናቅቁ የመጠበቅ አማራጭ።
scrollBehaviortopይህ ማንኛውንም ትዕዛዝ ከመፈጸሙ በፊት ወደ አንድ አካል ማሸብለል ያለበት የመመልከቻ አማራጭ ነው። የሚገኙ አማራጮች ናቸው። 'center''top''bottom''nearest', ወይም false፣ በውስጡ false ማሸብለልን ያሰናክላል.

ሳይፕረስ JSON ምሳሌ

ቀደም ሲል, በእኛ ውስጥ ማለፍ የምንችላቸውን የተለያዩ አወቃቀሮችን አይተናል cypress.json ፋይል. አሁን በፕሮጀክታችን ውስጥ እንዴት እንደሚጠቀሙባቸው የሚያሳይ ምሳሌ እንመለከታለን.

በcypress.json ፋይል ውስጥ ያሉ ነባሪ እሴቶችን መሻር

በእኛ ቪኤስ ኮድ ውስጥ ይክፈቱ cypress.json ፋይል. እኛ እንሽራለን defaultCommandTimeout ትዕዛዝ ለ 8000.

{
    "defaultCommandTimeout" : 8000
}

በእኛ ቪኤስ ኮድ ፕሮጄክታችን ውስጥ እንደዚህ ይመስላል።

cypress.json ፋይል

የሚለውን በመለወጥ cypress.json ፋይል, በጠቅላላው መዋቅር ላይ ተፈጻሚ ይሆናል. ወደ የሳይፕረስ ቅንጅቶቻችን በማሰስ ማረጋገጥ እንችላለን። ከነባሪ እሴት ተለውጧል 4000 ወደ 8000

የሳይፕረስ ቅንብሮች ነባሪ እሴቶች

በሙከራ ስክሪፕት በኩል ነባሪ እሴቶችን መሻር

በእኛ የሙከራ ስክሪፕት እንዲሁ ነባሪ እሴቶችን ማቀናበር እንችላለን። ውስጥ ከማለፍ ይልቅ cypress.json ፋይል, በእኛ የሙከራ ፋይል ውስጥ እናልፋለን.


//Changing the timeout from 4 seconds to 8 seconds
Cypress.config('defaultCommandTimeout',8000)

// Test code
cy.get('#username').type(users.email)
cy.get('#pswd').type(users.password)
cy.get('#login_btn').click()

በዚህ መንገድ በእኛ የሙከራ ፋይል ውስጥ ነባሪ እሴቶችን መሻር እንችላለን። ሆኖም፣ ይህ በማዕቀፉ ደረጃ ላይ ምንም አይነት የውቅረት ለውጦች ላይ ተጽእኖ አያመጣም። ሳይፕረስ በ ውስጥ ላሉ እሴቶች ቅድሚያ ይሰጣል cypress.json. በመጨረሻም, ዓለም አቀፋዊ አወቃቀሮችን ይወስዳል.

ሳይፕረስ ቋሚ JSON Array

ሳይፕረስ cy.fixture() በፋይል ውስጥ ቋሚ የውሂብ ስብስብ የሚጭን ተግባር ነው። በJSON ፋይል ውስጥ ያሉ ማናቸውንም እሴቶችን ወይም አደራደርን ለመጫን ቋሚውን እንደ JSON ልንጠቀምበት እንችላለን። በመጀመሪያ፣ በፕሮጀክታችን ውስጥ የJSON ፋይልን እንዴት ማግኘት እንደምንችል እንረዳ።

የእኔ JSON ፋይል ሁለት ንብረቶች አሉት፡ የተጠቃሚ ስም እና የይለፍ ቃል። የእኔ JSON ፋይል ስም ነው። examples.json.

{
"email": "test@gmail.com",
"password" : test123
}

በእኛ ዝርዝር ፋይል ውስጥ፣ በcy.fixture() ትዕዛዝ እና በፅንሰ-ሃሳቡ የእኛን መጫዎቻን እናገኛለን ቅጽል ስም.

 cy.fixture('example.json').as('example')

 //Using the alias name to this keyword, So we can use globally  
        const userObj = this.userData
//looping our .json data with a new variable users
         cy.get(userData).each((users) => 
         {
              //Write the test code.
        cy.get('#username').type(users.email)
        cy.get('#pswd').type(users.password)
          }       

ሳይፕረስ እና JSON

በድርጅቶች ውስጥ ባሉ ብዙ ፕሮጀክቶች ውስጥ የአካባቢ ተለዋዋጮች ጥቅም ላይ ይውላሉ። የአካባቢ ተለዋዋጮችን እንጠቀማለን

  • ዋጋዎች በተለያዩ ማሽኖች ላይ ተለዋዋጭ ሲሆኑ
  • በተለያዩ አካባቢዎች እንደ ዝግጅት፣ ሙከራ፣ ልማት፣ ምርት/ቀጥታ ባሉ አካባቢዎች መሞከር ስንፈልግ

እነዚህ ጉዳዮች የአካባቢ ተለዋዋጮችን እንድንገልፅ ይፈልጋሉ። ነገር ግን፣ የኢንቪ ተለዋዋጭ በአንድ spec ፋይል ውስጥ ካዘጋጀን በሌሎች ልዩ ፋይሎች ላይ አይንጸባረቅም። ይህ የሆነበት ምክንያት ሳይፕረስ እያንዳንዱን ዝርዝር ፋይሎች ለብቻው ስለሚያሄድ ነው። በዚህ መንገድ የኢንቭ ተለዋዋጮችን ለየብቻ ማዋቀር አለብን።

የአካባቢ ፋይሎቻችንን ከሳይፕረስ JSON ፋይላችን እናገኛለን፣ ማለትም፣ cypress.json ፋይል. ስለዚህ አማራጩን በእኛ ውስጥ መመደብ ይጠበቅብናል። cypress.json ፋይል ያድርጉ እና በእኛ ልዩ ፋይል ውስጥ ይጠቀሙበት። ስለዚህ ወደ ምሳሌአችን እንዝለቅ።

የአካባቢያችንን ተለዋዋጮች በእኛ ውቅር ፋይል ውስጥ ማዘጋጀት እንችላለን ወይም cypress.env.json ፋይል.

በሳይፕረስ.json ፋይል ውስጥ የአካባቢ ተለዋዋጭ ማቀናበር

የ env ንብረቱን በቁልፍ-እሴት ጥንድ አዘጋጅተናል። በቁልፍ ቃሉ ስር ያለፉ ማንኛቸውም እሴቶች env በአካባቢ ተለዋዋጮች ስር ይወድቃሉ እና ሳይፕረስ ክርክሩን ከ env ቁልፍ ቃል አገባብ ከታች ያለውን ይመስላል።

{
  "env": {
    "key1": "value1",
    "key2": "value2"
  }
}

ማግኘት ከፈለግን env በእኛ spec ፋይል ውስጥ ተለዋዋጭ ፣ ከዚህ በታች እንደተጠቀሰው እንመድባቸዋለን።

Cypress.env() //returns both the key1,value1 and key2, value2

Cypress.env(key1) //returns only the value1

እኛ እንጨምራለን env በፕሮጀክታችን ውስጥ ማዋቀር እና በእኛ ልዩ ፋይል ውስጥ እናገኛቸዋለን። በእኛ cypress.json ፋይል, የሚከተለውን ውቅር ያክሉ. የኛን እያዘጋጀን ነው። URL ንብረት እና ወደ ዩአርኤል መመደብ። እዚህ, URL ቁልፍ ነው, እና https://lambdageeks.com/technology/ እሴቱ ነው።

{
  "env" : {
      "url" : "https://lambdageeks.com/technology/"
    }
}

አወቃቀሩን እንደገለጽነው፣ በእኛ ልዩ ፋይል ውስጥ እናገኛቸዋለን። ከዚህ በታች የሆነ ነገር ይመስላል. ከላይ እንደተጠቀሰው, እንጠቀማለን Cypress.env() ወደ env ተለዋዋጭ ለመድረስ ዘዴ.

// type definitions for Cypress object "cy"
// <reference types="cypress" />

describe('Cypress Example ', function () {

    it('accessing the environment variable', function () {

        //Calling URL from cypress.json
        cy.visit(Cypress.env('url'));

    })
})

በ cypress.env.json ፋይል ውስጥ የአካባቢ ተለዋዋጭ ማቀናበር

የአካባቢያችንን ተለዋዋጭ በሳይፕረስ env JSON ፋይል መመደብ እንችላለን። ለዚያ, የሚባል አዲስ ፋይል መፍጠር አለብን cypress.env.json በፕሮጀክቱ መሰረት. የሚለውን አንጠይቅም። env ቁልፍ ቃል; በምትኩ, የቁልፍ-እሴት ጥንድ በማለፍ በቀጥታ ልንደርስባቸው እንችላለን.

{
    "key1": "value1",
    "key2": "value2"
}

በእኛ ውስጥ እንዴት እንደሚመደብላቸው እንመልከት cypress.env.json ፋይል.

{
    "url" : "https://lambdageeks.com/",
    "urlTechnology" : "https://lambdageeks.com/technology/"
}
የሳይፕረስ.env.json ፋይል መፍጠር

ከላይ እንደምታዩት አዲስ ፋይል ፈጥረናል፣ cypress.env.json, እና የእኛን ጨምሯል URL ንብረቶች. የአካባቢ ተለዋዋጮችን የሚያገኙበት መንገድ በቀደመው ክፍል ላይ ከተጠቀሰው ጋር ተመሳሳይ ይሆናል.

ሳይፕረስ JSON ሪፖርተር

እንደምናውቀው ሳይፕረስ የተገነባው በሞቻ አናት ላይ ነው; ለሞቻ የተገነቡ ማንኛውንም ዘጋቢዎች መጠቀም ይቻላል. በእኛ JSON ፋይል ውስጥ ዘጋቢን በአለምአቀፍ ደረጃ ማዋቀር እንችላለን cypress.json ፋይል.

reporterspecእዚህ, በሳይፕስ ሩጫ ወቅት ማመንጨት ያለበትን ዘጋቢ መግለጽ ይችላሉ. ተዘጋጅቷል። spec እንደ ነባሪ ዘጋቢ.
reporterOptionsnullይህ ለሪፖርተር የሚደገፉ አማራጮችን ለመግለጽ ነው።

ከላይ የተጠቀሱት አማራጮች በነባሪ በሪፖርተር ውስጥ የተቀመጡ ውቅሮች ናቸው. በተጨማሪም, የ spec ዘጋቢ በነባሪነት ተቀናብሯል። ስለዚህ, በሪፖርተሩ ውስጥ, ከሞቻ ጋር የሚስማማውን ማንኛውንም ዘጋቢ ማዘጋጀት እንችላለን. reporterOptions እኛ እያዋቀርነው ባለው ሪፖርተር ላይ በመመስረት የሚደገፉትን አማራጮች መግለጽ ነው።

በእኛ ውስጥ ዘጋቢውን እንዴት ማዋቀር እንደሚቻል እንይ cypress.json ፋይል.

መልቲ ዘጋቢውን ሞቻዌሶም እንደ ሪፖርተራችን እንየው። በመጀመሪያ ዘጋቢውን እንጭነዋለን እና ወደ እኛ እንጨምራለን cypress.json ፋይል.

npm install --save-dev mocha cypress-multi-reporters mochawesome

በትእዛዝ መስመር ውስጥ ከላይ ያለውን ትዕዛዝ በማለፍ ዘጋቢውን ይጫኑ. አሁን, በእኛ cypress.json ፋይል, የሚከተለውን ንብረት ያክሉ.

"reporter": "cypress-multi-reporters",
  "reporterOptions": {
      "reportDir": "cypress/reports/multireports",
      "overwrite": false,
      "html": false,
      "json": true
    }

እያንዳንዱን ባህሪያት በዝርዝር እንረዳለን.

ጋዜጠኛበፕሮጀክታችን ውስጥ የምናዋቅረው የሪፖርተር ስም

ሪፖርት ዲርውጤቶቻችንን የምናወጣበት ማውጫ።

ጻፍይህ ባንዲራ የቀደሙት ሪፖርቶችን እንደገና ለመፃፍ ይጠይቃል።

html: በፈተናው መጠናቀቅ ላይ ያለውን ሪፖርት ያመነጫል.

JSONበሙከራ ማጠናቀቂያ ላይ የJSON ፋይል መፍጠር አለመቻል።

የሳይፕረስ ዘጋቢ በሳይፕረስ JSON ፋይል

ሳይፕረስ ጥቅል-lock.json

 ጥቅል-መቆለፊያ.json npm የመስቀለኛ ሞጁሎችን ወይም የጥቅል.json ፋይሉን ሲያስተካክል ለማንኛውም ኦፕሬሽኖች ፋይሉ በራስ-ሰር ይፈጠራል። ማንኛውንም አማራጮች ስንጨምር ወይም በእኛ ሳይፕረስ ላይ ማንኛውንም አዲስ ጥገኛ ጫን ጥቅል JSON ፋይል፣ ከዚያ ሳይፕረስ pack-lock.json በራስ-ሰር ይዘምናል።

Cypess ጥቅል.መቆለፊያ JSON ፋይሉ እያንዳንዱን ጥቅል እና ስሪቱን ይከታተላል ስለዚህም ጭነቶቹ እንዲቆዩ እና በእያንዳንዱ የ npm ጭነት በአለም አቀፍ ደረጃ እንዲዘምኑ ያደርጋል። ስለዚህ በእኛ የሳይፕረስ ፓኬጅ JSON ፋይል ውስጥ ስሪቱን ስናዘምን ወይም ማንኛውንም ጥገኝነት ስንጨምር pack-lock.json እንዲሁ ይዘምናል፣ እና ምንም አይነት ለውጥ ማድረግ አንፈልግም።

የሳይፕረስ ጥቅል-lock.json ፋይል
ወደ ላይ ሸብልል