በኮዳችን ውስጥ JSON ለመጻፍ ስለ JSON መዋቅር፣ ምሳሌዎች እና ዝርዝር የተግባር ተሞክሮ እንነጋገራለን። ግን በመጀመሪያ ወደ ጽሑፋችን እንዝለቅ!
ሳይፕረስ Json ምንድን ነው፡ ምሳሌ፣ እቅድ፣ ዝርዝር የእጅ-ላይ ትንተና
በቀደመው በኛ ጽሑፍተለዋዋጮችን እና ተለዋጭ ስሞችን እና የመጀመሪያውን የፈተና ኬዝ እንዴት እንደምንጽፍ ተወያይተናል። አሁን፣ ስለ ሳይፕረስ JSON እና እንዴት ወደ ኮዳችን እንደምናካትተው እንወያያለን።

ዝርዝር ሁኔታ
- ሳይፕረስ JSON ፋይል
- ነባሪ JSON አማራጮች
- ዓለም አቀፍ አማራጮች
- ሳይፕረስ JSON ጊዜው አልፎበታል።
- ሳይፕረስ JSON ፋይል አንብብ
- ቅጽበታዊ ገጽ እይታ እና የቪዲዮ አማራጮች
- የእይታ እይታ እና ተግባራዊነት
- ሳይፕረስ JSON ምሳሌ
- ሳይፕረስ ቋሚ JSON Array
- ሳይፕረስ እና JSON
- ሳይፕረስ JSON ሪፖርተር
- ሳይፕረስ ጥቅል-lock.json
ሳይፕረስ JSON ፋይል
ቀደም ሲል እንዳየነው የሳይፕረስ ፈተና ሯጭን ለመጀመሪያ ጊዜ ስንከፍት ሀ ሳይፕረስ.json ፋይል. ይህ ፋይል የምንፈልጋቸውን ማናቸውንም የውቅር እሴቶች ለማለፍ ይጠቅማል። ስለዚህ በመጀመሪያ, በእኛ ውስጥ ማለፍ የምንችላቸውን አማራጮች እንመለከታለን cypress.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 ፋይል ውስጥ የምናስተላልፈውን ቁልፍ ቃል ይወክላል። ነባሪ በሳይፕረስ የተቀመጠውን የተወሰነ አማራጭ ነባሪ እሴት ያሳያል፣ እና መግለጫው የአማራጩን ትርጉም ያሳያል።
አማራጭ | ነባሪ | መግለጫ |
---|---|---|
baseUrl | null | በእያንዳንዱ ፋይል ውስጥ ከማለፍ ይልቅ ዩአርኤሉን በአለምአቀፍ ደረጃ ማዘጋጀት እንችላለን። ጥቅም ላይ ሊውል ይችላል cy.visit() or cy.request() ትዕዛዞች |
clientCertificates | [] | ይህንን አማራጭ የደንበኛ የምስክር ወረቀቶችን በዩአርኤል መሰረት ለማዋቀር መጠቀም ይችላሉ። |
env | {} | ማንኛውንም የአካባቢ ተለዋዋጮች እንደ እሴት ማለፍ ይችላሉ። አፕሊኬሽኑን በተለያዩ አካባቢዎች ለምሳሌ በማዘጋጀት ወይም በማምረት የምንሞክር ከሆነ ይህ አማራጭ ጠቃሚ ይሆናል። |
watchForFileChanges | true | ይህ አማራጭ በማንኛውም የፋይል ለውጦች ላይ የሳይፕረስ ሰዓቶችን እና ሙከራዎችን እንደገና ያስጀምራል የሚለውን ያረጋግጣል። |
port | null | ሳይፕረስን በማስተናገድ የወደብ ቁጥሩን ማለፍ እንችላለን። የዘፈቀደ ወደብ ይፈጠራል፣ ግን የምንፈልገውን የወደብ ቁጥር ማከል እንችላለን። |
numTestsKeptInMemory | 50 | ይህ አማራጭ በማህደረ ትውስታ ውስጥ የተከማቹ የሙከራ ቅጽበተ-ፎቶዎች እና ትዕዛዞች ውሂብ ብዛት ነው። በሙከራ ጊዜ በአሳሹ ውስጥ ከፍተኛ የማህደረ ትውስታ ፍጆታ ካለ ቁጥሩን መቀነስ እንችላለን። |
retries | { "runMode": 0, "openMode": 0 } | ይህ አማራጭ ያልተሳካ ሙከራን እንደገና ለመሞከር ስንት ጊዜዎችን መግለጽ ነው። ለየብቻ ማዋቀር እንችላለን ሳይፕረስ ሩጫ ና ሳይፕረስ ክፍት. |
redirectionLimit | 20 | ስህተት ከመከሰቱ በፊት አፕሊኬሽኑ ወደ ሌላ አቅጣጫ የሚቀየርበትን ጊዜ ገደብ ማዋቀር እንችላለን። |
includeShadowDom | false | ከንጥረ ነገሮች ጋር ለመግባባት በ Shadow DOM ውስጥ የማሰስ ችሎታ። በነባሪ፣ ወደ ሐሰት ተቀናብሯል። የእኛ መተግበሪያ የጥላ ስር ዳሰሳን የሚፈልግ አካል ካለው፣ እሱን ማዋቀር ይችላሉ። true . |
ሳይፕረስ JSON ጊዜው አልፎበታል።
የጊዜ ማብቂያ በማንኛውም አውቶሜሽን ማዕቀፍ ውስጥ ካሉት በጣም አስፈላጊ ጽንሰ-ሐሳቦች ውስጥ አንዱ ነው። ሳይፕረስ በእኛ ስክሪፕቶች ውስጥ የጊዜ ማብቂያዎችን ለማስተናገድ የሚረዱ የተለያዩ አማራጮችን ይሰጣል። በመጀመሪያ, እኛ ማዋቀር የምንችለውን አማራጮች እንመለከታለን.
አማራጭ | ነባሪ | መግለጫ |
---|---|---|
defaultCommandTimeout | 4000 | ይህ አማራጭ በ DOM Elements ላይ የተመሰረቱ ትዕዛዞች እስኪጫኑ ድረስ መጠበቅ ነው። ይህ በሚሊሰከንዶች ነው። |
requestTimeout | 5000 | ጊዜ፣ በሚሊሰከንዶች፣ የcy.wait() ትዕዛዝ ጥያቄ እስኪያበቃ ድረስ የሚጠብቅ። |
responseTimeout | 30000 | ይህ የጊዜ ማብቂያ እንደ ተከታታይ ትዕዛዞች ምላሽ እስኪሰጥ መጠበቅ ነው። cy.request() , cy.wait() , cy.fixture() , cy.getCookie() , cy.getCookies() , cy.setCookie() , cy.clearCookie() , cy.clearCookies() , እና cy.screenshot() ትዕዛዞች |
taskTimeout | 60000 | ለአፈፃፀም ማጠናቀቂያ ጊዜ፣ በሚሊሰከንዶች cy.task() ትእዛዝ |
execTimeout | 60000 | ይህ ጊዜ በሚሊሰከንዶች ውስጥ የድርጊቱን አፈፃፀም ለመጨረስ መጠበቅ ነው። cy.exec() ትእዛዝ ፣የስርዓት ትዕዛዝ ማጠናቀቅ ነው |
pageLoadTimeout | 60000 | ይህ የጊዜ ማብቂያ ይጠብቃል። page navigation events ወይም መስተጋብር የሚፈጥሩ ትዕዛዞችከገጾቹ ጋር cy.visit() , cy.go() , cy.reload() |
ሳይፕረስ JSON ፋይል አንብብ
አንዳንድ ጊዜ በፕሮጀክታችን ውስጥ ካሉ ማህደሮች ወይም ፋይሎች ጋር መስተጋብር መፍጠር እንፈልጋለን። መስተጋብር ለመፍጠር፣ በእኛ ውስጥ የተወሰኑ አማራጮችን ማዘጋጀት አለብን cypress.json
ፋይሎችን ለማቀናበር ፋይል ያድርጉ። ስለዚህ፣ በመጀመሪያ፣ በአቃፊዎቻችን/ፋይሎች ውቅር ውስጥ ያሉትን አማራጮች እንመልከት።
አማራጭ | ነባሪ | መግለጫ |
---|---|---|
downloadsFolder | cypress/downloads | ይህ በሙከራ ጊዜ ፋይሎቹ የሚወርዱበት እና የሚከማቹበት መንገድ ነው። |
fixturesFolder | cypress/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. | ||
integrationFolder | cypress/integration | የውህደት ሙከራ ፋይሎች በዚህ መንገድ ወደ አቃፊው ይቀመጣሉ። |
pluginsFile | cypress/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 | ||
testFiles | **/*.* | መጫን ወደሚያስፈልጋቸው የፈተና ፋይሎች ዱካ። እሱ ሕብረቁምፊ ወይም ድርድር ነው። |
videosFolder | cypress/videos | በሙከራ አፈጻጸም ጊዜ ቪዲዮዎችን የሚያከማች የአቃፊ መንገድ |
ቅጽበታዊ ገጽ እይታዎች እና የቪዲዮ አማራጮች
ቅጽበተ-ፎቶዎቻችንን እና ቪዲዮዎችን በእኛ cypress.json() ፋይል ውስጥ ማዋቀር እንችላለን፣ እና ሳይፕረስ የእኛን ውቅረት ለማበጀት አንዳንድ አማራጮችን ይሰጠናል።
አማራጭ | ነባሪ | መግለጫ |
---|---|---|
screenshotOnRunFailure | true | ሳይፕረስ በፈተና ውድቀት ወቅት የሳይፕረስ ስክሪን ሾት ሲያደርግ ወደ እውነት ወይም ሀሰት የማዋቀር አማራጭ። ተዘጋጅቷል። true በነባሪነት |
trashAssetsBeforeRuns | true | ይህ አማራጭ በ ውስጥ ያሉ ንብረቶችን መጣስ ነው። videosFolder , downloadsFolder ና screenshotsFolder ከእያንዳንዱ በፊት cypress run |
videoCompression | 32 | ይህ አማራጭ በቋሚ ፍጥነት ምክንያት (CRF) ውስጥ የሚለካው የቪዲዮ መጭመቂያ ጥራት ነው። በማለፍ false , ይህን አማራጭ ማሰናከልም ይችላሉ. ዝቅተኛው እሴት የተሻለ ጥራት በሚሰጥበት ከ0 ወደ 51 እሴቶችን ማለፍ ይችላሉ። |
videosFolder | cypress/videos | የፈተናዎቹ ቪዲዮ የተቀመጠበት አቃፊ። |
video | true | የሙከራ አፈፃፀም ቪዲዮን ለመቅረጽ የቦሊያን እሴት cypress run . |
videoUploadOnPasses | true | ይህ አማራጭ በአንድ የተወሰነ ፋይል ውስጥ ያሉ ሁሉም የሙከራ ጉዳዮች በሚያልፉበት ጊዜ ቪዲዮዎችን ወደ ዳሽቦርድ መስቀል ነው። |
የእይታ እይታ እና ተግባራዊነት
በሳይፕረስ በተሰጡት አማራጮች የመመልከቻውን ቁመት እና ስፋት ለመለወጥ እሴቶችን ማዋቀር እና ማለፍ ይችላሉ። የተግባር አማራጮችም ሊዋቀሩ ይችላሉ።
አማራጭ | ነባሪ | መግለጫ |
---|---|---|
viewportHeight | 660 | ይህ ለመተግበሪያው ነባሪውን ቁመት በፒክሰሎች ለማቅረብ ነው። ይህንን ትእዛዝ በሚከተሉት መሻር እንችላለን cy.viewport() |
viewportWidth | 1000 | ለመተግበሪያው የእይታ ስፋት በፒክሰሎች ውስጥ አማራጭ። ጋር መሻር ይቻላል። cy.viewport() ትዕዛዝ. |
animationDistanceThreshold | 5 | የመነሻ ዋጋ በፒክሰሎች የሚለካው የርቀቱ መጠን አንድ ኤለመንት የሚሠራበትን ጊዜ ግምት ውስጥ በማስገባት መብለጥ አለበት። |
waitForAnimations | true | ማንኛውንም ትዕዛዝ ከማድረግዎ በፊት ንጥረ ነገሮቹ እነማውን እስኪያጠናቅቁ የመጠበቅ አማራጭ። |
scrollBehavior | top | ይህ ማንኛውንም ትዕዛዝ ከመፈጸሙ በፊት ወደ አንድ አካል ማሸብለል ያለበት የመመልከቻ አማራጭ ነው። የሚገኙ አማራጮች ናቸው። 'center' , 'top' , 'bottom' , 'nearest' , ወይም false ፣ በውስጡ false ማሸብለልን ያሰናክላል. |
ሳይፕረስ JSON ምሳሌ
ቀደም ሲል, በእኛ ውስጥ ማለፍ የምንችላቸውን የተለያዩ አወቃቀሮችን አይተናል cypress.json
ፋይል. አሁን በፕሮጀክታችን ውስጥ እንዴት እንደሚጠቀሙባቸው የሚያሳይ ምሳሌ እንመለከታለን.
በcypress.json ፋይል ውስጥ ያሉ ነባሪ እሴቶችን መሻር
በእኛ ቪኤስ ኮድ ውስጥ ይክፈቱ cypress.json
ፋይል. እኛ እንሽራለን defaultCommandTimeout
ትዕዛዝ ለ 8000
.
{
"defaultCommandTimeout" : 8000
}
በእኛ ቪኤስ ኮድ ፕሮጄክታችን ውስጥ እንደዚህ ይመስላል።

የሚለውን በመለወጥ 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/"
}

ከላይ እንደምታዩት አዲስ ፋይል ፈጥረናል፣ cypress.env.json
, እና የእኛን ጨምሯል URL
ንብረቶች. የአካባቢ ተለዋዋጮችን የሚያገኙበት መንገድ በቀደመው ክፍል ላይ ከተጠቀሰው ጋር ተመሳሳይ ይሆናል.
ሳይፕረስ JSON ሪፖርተር
እንደምናውቀው ሳይፕረስ የተገነባው በሞቻ አናት ላይ ነው; ለሞቻ የተገነቡ ማንኛውንም ዘጋቢዎች መጠቀም ይቻላል. በእኛ JSON ፋይል ውስጥ ዘጋቢን በአለምአቀፍ ደረጃ ማዋቀር እንችላለን cypress.json
ፋይል.
reporter | spec | እዚህ, በሳይፕስ ሩጫ ወቅት ማመንጨት ያለበትን ዘጋቢ መግለጽ ይችላሉ. ተዘጋጅቷል። spec እንደ ነባሪ ዘጋቢ. |
reporterOptions | null | ይህ ለሪፖርተር የሚደገፉ አማራጮችን ለመግለጽ ነው። |
ከላይ የተጠቀሱት አማራጮች በነባሪ በሪፖርተር ውስጥ የተቀመጡ ውቅሮች ናቸው. በተጨማሪም, የ 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 ፋይል መፍጠር አለመቻል።

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