టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

అందరికి వందనాలు. మేము నీడల నుండి నెమ్మదిగా బయటపడుతున్నాము మరియు మా ఉత్పత్తి గురించి కథనాల శ్రేణిని కొనసాగిస్తున్నాము. తర్వాత మునుపటి సమీక్ష కథనం, మేము చాలా ఫీడ్‌బ్యాక్ (ఎక్కువగా సానుకూల), సూచనలు మరియు బగ్ నివేదికలను అందుకున్నాము. ఈ రోజు మనం చూపిస్తాము టెస్ట్‌మేస్ చర్యలో మరియు మీరు మా అప్లికేషన్ యొక్క కొన్ని లక్షణాలను అభినందించగలరు. మరింత పూర్తి ఇమ్మర్షన్ కోసం, మా డాక్యుమెంటేషన్‌ని ఇక్కడ చూడమని నేను మీకు సలహా ఇస్తున్నాను http://docs-ru.testmace.com. కనుక మనము వెళ్దాము!

సెట్టింగ్

సామాన్యతతో ప్రారంభిద్దాం. అప్లికేషన్ అందుబాటులో ఉంది మరియు వాస్తవానికి మూడు ప్లాట్‌ఫారమ్‌లలో పరీక్షించబడింది - Linux, Windows, MacOS. మీకు ఆసక్తి ఉన్న OS కోసం ఇన్‌స్టాలర్‌ను డౌన్‌లోడ్ చేసుకోవచ్చు మా వెబ్‌సైట్. Linux వినియోగదారుల కోసం దీన్ని ఇన్‌స్టాల్ చేయడం సాధ్యపడుతుంది స్నాప్ ప్యాకేజీ. మైక్రోసాఫ్ట్ స్టోర్ మరియు యాప్ స్టోర్ త్వరలో దాన్ని చేరుస్తాయని మేము నిజంగా ఆశిస్తున్నాము (ఇది అవసరమా? మీరు ఏమనుకుంటున్నారు?).

ప్రయోగాత్మక దృశ్యం

మేము మా పరీక్ష సబ్జెక్ట్‌గా కింది ప్రామాణిక దృశ్యాన్ని ఎంచుకున్నాము:

  • లాగిన్: యూజర్ - అడ్మిన్, పాస్వర్డ్ - పాస్వర్డ్
  • కొత్త ఎంట్రీని జోడించండి
  • రికార్డు సరిగ్గా జోడించబడిందో లేదో తనిఖీ చేద్దాం

మేము పరీక్షిస్తాము https://testmace-quick-start.herokuapp.com/. ఇది మామూలే json-సర్వర్, అటువంటి అప్లికేషన్‌లను పరీక్షించడానికి సరైనది. మేము అన్ని json-సర్వర్ మార్గాలకు టోకెన్ ద్వారా అధికారాన్ని జోడించాము మరియు ఈ టోకెన్‌ను స్వీకరించడానికి లాగిన్ పద్ధతిని సృష్టించాము. మేము క్రమంగా ముందుకు వెళ్తాము, క్రమంగా మా ప్రాజెక్ట్‌ను మెరుగుపరుస్తాము.

ప్రాజెక్ట్‌ను సృష్టించడం మరియు అధికారం లేకుండా ఒక ఎంటిటీని సృష్టించడానికి ప్రయత్నిస్తున్నారు

ముందుగా, కొత్త ప్రాజెక్ట్‌ని క్రియేట్ చేద్దాం (ఫైలు->కొత్త ప్రాజెక్ట్) మీరు మొదటిసారి అప్లికేషన్‌ను ప్రారంభిస్తుంటే, కొత్త ప్రాజెక్ట్ స్వయంచాలకంగా తెరవబడుతుంది. ముందుగా, కొత్త రికార్డ్‌ను సృష్టించడానికి అభ్యర్థన చేయడానికి ప్రయత్నిద్దాం (ఒకవేళ అనుమతి లేకుండా రికార్డులను సృష్టించడం అందుబాటులో ఉంటే). ప్రాజెక్ట్ నోడ్ సందర్భ మెను నుండి అంశాలను ఎంచుకోండి నోడ్ జోడించండి -> అభ్యర్థన దశ. నోడ్ పేరును దీనికి సెట్ చేయండి సృష్టించు-పోస్ట్. ఫలితంగా, చెట్టులో కొత్త నోడ్ సృష్టించబడుతుంది మరియు ఈ నోడ్ కోసం ట్యాబ్ తెరవబడుతుంది. కింది అభ్యర్థన పారామితులను సెట్ చేద్దాం:

  • అభ్యర్థన రకం: POST
  • URL: https://testmace-quick-start.herokuapp.com/posts
  • అభ్యర్థన అంశం: విలువతో json {"title": "New testmace quick start post"}
    మీరు ప్రతిదీ సరిగ్గా చేస్తే, ఇంటర్ఫేస్ ఇలా కనిపిస్తుంది:

టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

అయితే, మేము అభ్యర్థనను నెరవేర్చడానికి ప్రయత్నిస్తే, సర్వర్ 401 కోడ్‌ని అందిస్తుంది మరియు అధికారం లేకుండా మేము ఈ సర్వర్‌లో ఏమీ పొందలేము. బాగా, సాధారణంగా, ఊహించిన విధంగా).

అధికార అభ్యర్థనను జోడిస్తోంది

ఇప్పటికే చెప్పినట్లుగా, మాకు POST ముగింపు స్థానం ఉంది /login, ఇది jsonని ఫారమ్ యొక్క అభ్యర్థన అంశంగా తీసుకుంటుంది: {"username": "<username>", "password": "<password>"}పేరు username и password (మళ్ళీ, పై పరిచయ పేరా నుండి) అర్థాలు ఉన్నాయి admin и password వరుసగా. ప్రతిస్పందనగా, ఈ ఎండ్‌పాయింట్ json లైక్‌ని అందిస్తుంది {"token": "<token>"}. మేము దానిని అధికారం కోసం ఉపయోగిస్తాము. సృష్టిద్దాం అభ్యర్థన దశ పేరుతో నోడ్ లాగిన్, పూర్వీకులుగా వ్యవహరిస్తారు ప్రాజెక్టు నోడ్ డ్రాగ్-అండ్-డ్రాప్ ఉపయోగించి, ఇచ్చిన నోడ్‌ను చెట్టులో నోడ్ కంటే ఎత్తుకు తరలించండి సృష్టించు-పోస్ట్. కొత్తగా సృష్టించిన అభ్యర్థనకు కింది పారామితులను సెట్ చేద్దాం:

అభ్యర్థనను అమలు చేసి, ప్రతిస్పందనలో టోకెన్‌తో రెండు వందల కోడ్‌ను అందుకుందాం. ఇలాంటిది ఏదైనా:

టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

రీఫ్యాక్టరింగ్: డొమైన్ డూప్లికేషన్‌ను తీసివేయడం

ఇప్పటివరకు అభ్యర్థనలు ఒకే స్క్రిప్ట్‌కి లింక్ చేయబడలేదు. కానీ ఇది మాత్రమే లోపము కాదు. మీరు నిశితంగా పరిశీలిస్తే, రెండు అభ్యర్థనలలో కనీసం డొమైన్ డూప్లికేట్ చేయబడిందని మీరు గమనించవచ్చు. మంచిది కాదు. భవిష్యత్ స్క్రిప్ట్‌లోని ఈ భాగాన్ని రీఫాక్టర్ చేయడానికి ఇది సమయం, మరియు వేరియబుల్స్ దీనికి మాకు సహాయపడతాయి.

మొదటి ఉజ్జాయింపులో, వేరియబుల్స్ ఇతర సారూప్య సాధనాలు మరియు ప్రోగ్రామింగ్ భాషలలో వలె అదే పాత్రను అందిస్తాయి - నకిలీని తొలగించడం, చదవగలిగే సామర్థ్యాన్ని పెంచడం మొదలైనవి. మీరు వేరియబుల్స్ గురించి మరింత చదువుకోవచ్చు మా డాక్యుమెంటేషన్. ఈ సందర్భంలో, మనకు వినియోగదారు వేరియబుల్స్ అవసరం.

ప్రాజెక్ట్ నోడ్ స్థాయిలో వేరియబుల్‌ని నిర్వచిద్దాం domain అర్థంతో https://testmace-quick-start.herokuapp.com. దీని కోసం ఇది అవసరం

  • ఈ నోడ్‌తో ట్యాబ్‌ను తెరిచి, ఎగువ కుడివైపున ఉన్న కాలిక్యులేటర్ చిహ్నంపై క్లిక్ చేయండి
  • నొక్కండి + వేరియబుల్‌ని జోడించండి
  • వేరియబుల్ పేరు మరియు విలువను నమోదు చేయండి
    మా సందర్భంలో, జోడించిన వేరియబుల్‌తో డైలాగ్ ఇలా కనిపిస్తుంది:

టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

అలాగే. ఇప్పుడు, వారసత్వం కారణంగా, ఏదైనా గూడు స్థాయికి చెందిన వారసులలో మనం ఈ వేరియబుల్‌ని ఉపయోగించవచ్చు. మా విషయంలో ఇవి నోడ్స్ లాగిన్ и సృష్టించు-పోస్ట్. టెక్స్ట్ ఫీల్డ్‌లో వేరియబుల్‌ని ఉపయోగించడానికి, మీరు వ్రాయాలి ${<variable_name>}. ఉదాహరణకు, లాగిన్ url మార్చబడుతుంది ${domain}/login, కోసం వరుసగా సృష్టించు-పోస్ట్ node url ఇలా కనిపిస్తుంది ${domain}/posts.

అందువలన, DRY సూత్రం ద్వారా మార్గనిర్దేశం చేయబడి, మేము దృష్టాంతాన్ని కొద్దిగా మెరుగుపరిచాము.

టోకెన్‌ను వేరియబుల్‌లో సేవ్ చేయండి

మేము వేరియబుల్స్ గురించి మాట్లాడుతున్నాము కాబట్టి, ఈ అంశంపై కొంచెం విస్తరిద్దాం. ప్రస్తుతానికి, విజయవంతమైన లాగిన్ విషయంలో, మేము సర్వర్ నుండి అధికార టోకెన్‌ను స్వీకరిస్తాము, ఇది తదుపరి అభ్యర్థనలలో మాకు అవసరం. ఈ టోకెన్‌ని వేరియబుల్‌లో సేవ్ చేద్దాం. ఎందుకంటే స్క్రిప్ట్ అమలు సమయంలో వేరియబుల్ యొక్క విలువ నిర్ణయించబడుతుంది, దీని కోసం మేము ప్రత్యేక యంత్రాంగాన్ని ఉపయోగిస్తాము - డైనమిక్ వేరియబుల్స్.

ముందుగా, లాగిన్ అభ్యర్థనను అమలు చేద్దాం. ట్యాబ్‌లో పార్స్ చేయబడింది సమాధానం, కర్సర్‌ను టోకెన్‌పైకి తరలించండి మరియు సందర్భ మెనులో (దీనిని కుడి మౌస్ బటన్‌తో లేదా బటన్‌పై క్లిక్ చేయడం ద్వారా అంటారు...) అంశాన్ని ఎంచుకోండి వేరియబుల్‌కు కేటాయించండి. కింది ఫీల్డ్‌లతో డైలాగ్ కనిపిస్తుంది:

  • మార్గం - సమాధానం యొక్క ఏ భాగం తీసుకోబడింది (మా విషయంలో ఇది body.token)
  • ప్రస్తుత విలువ - మార్గంలో ఏ విలువ ఉంటుంది (మా విషయంలో ఇది టోకెన్ విలువ)
  • వేరియబుల్ పేరు - ఎక్కడ వేరియబుల్ పేరు ప్రస్తుత విలువ భద్రపరచబడుతుంది. మా విషయంలో అది ఉంటుంది token
  • నోడ్ - పూర్వీకులలో వేరియబుల్ సృష్టించబడుతుంది వేరియబుల్ పేరు. ప్రాజెక్ట్‌ని ఎంచుకుందాం

పూర్తయిన డైలాగ్ ఇలా కనిపిస్తుంది:

టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

ఇప్పుడు ప్రతిసారీ నోడ్ అమలు చేయబడుతుంది లాగిన్ డైనమిక్ వేరియబుల్ token ప్రతిస్పందన నుండి కొత్త విలువతో నవీకరించబడుతుంది. మరియు ఈ వేరియబుల్ నిల్వ చేయబడుతుంది ప్రాజెక్టు నోడ్ మరియు, వారసత్వానికి ధన్యవాదాలు, వారసులకు అందుబాటులో ఉంటుంది.

డైనమిక్ వేరియబుల్స్‌ని యాక్సెస్ చేయడానికి, మీరు తప్పక ఉపయోగించాలి అంతర్నిర్మిత వేరియబుల్ $dynamicVar. ఉదాహరణకు, నిల్వ చేయబడిన టోకెన్‌ను యాక్సెస్ చేయడానికి, మీరు కాల్ చేయాలి ${$dynamicVar.token}.

మేము ప్రామాణీకరణ టోకెన్‌ను అభ్యర్థనలలోకి పంపుతాము

మునుపటి దశల్లో మేము అధికార టోకెన్‌ని అందుకున్నాము మరియు మేము చేయాల్సిందల్లా హెడర్‌ను జోడించడమే Authorization అర్థంతో Bearer <tokenValue> అధికారం అవసరమయ్యే అన్ని అభ్యర్థనలలో, సహా సృష్టించు-పోస్ట్. దీన్ని చేయడానికి అనేక మార్గాలు ఉన్నాయి:

  1. టోకెన్‌ను మాన్యువల్‌గా కాపీ చేసి, ఆసక్తి ఉన్న అభ్యర్థనలకు అధికార శీర్షికను జోడించండి. పద్ధతి పనిచేస్తుంది, కానీ దాని ఉపయోగం "తయారు మరియు విసిరిన" రకం అభ్యర్థనలకు మాత్రమే పరిమితం చేయబడింది. స్క్రిప్ట్‌లను మళ్లీ మళ్లీ అమలు చేయడానికి తగినది కాదు
  2. కార్యాచరణను ఉపయోగించండి అధికారం.
  3. ఉపయోగం డిఫాల్ట్ శీర్షికలు

రెండవ పద్ధతిని ఉపయోగించడం స్పష్టంగా కనిపిస్తుంది, కానీ ఈ వ్యాసం యొక్క సందర్భంలో, ఈ విధానం ... రసహీనమైనది. బాగా, నిజంగా: ప్రామాణీకరణ మెకానిజం ప్లస్ మైనస్ మీకు ఇతర సాధనాల నుండి సుపరిచితం (మాకు ఇలాంటివి ఉన్నప్పటికీ అధికార వారసత్వం) మరియు ప్రశ్నలు లేవనెత్తే అవకాశం లేదు.

మరొక విషయం డిఫాల్ట్ హెడర్లు! క్లుప్తంగా, డిఫాల్ట్ హెడర్‌లు వారసత్వంగా పొందబడిన HTTP హెడర్‌లు, అవి స్పష్టంగా డిసేబుల్ చేయకపోతే డిఫాల్ట్‌గా అభ్యర్థనకు జోడించబడతాయి. ఈ ఫంక్షనాలిటీని ఉపయోగించి, ఉదాహరణకు, మీరు అనుకూల అధికారాన్ని అమలు చేయవచ్చు లేదా స్క్రిప్ట్‌లలోని నకిలీని వదిలించుకోవచ్చు. హెడర్‌లలో టోకెన్‌ను పాస్ చేయడానికి ఈ ఫీచర్‌ని ఉపయోగిస్తాము.

మునుపు, మేము తెలివిగా టోకెన్‌ను డైనమిక్ వేరియబుల్‌కి సేవ్ చేసాము $dynamicVar.token ప్రాజెక్ట్ నోడ్ స్థాయిలో. ఈ క్రింది వాటిని చేయడమే మిగిలి ఉంది:

  1. డిఫాల్ట్ శీర్షికను నిర్వచించండి Authorization అర్థంతో Bearer ${$dynamicVar.token} ప్రాజెక్ట్ నోడ్ స్థాయిలో. దీన్ని చేయడానికి, నోడ్ యొక్క ప్రాజెక్ట్ ఇంటర్‌ఫేస్‌లో మీరు డిఫాల్ట్ హెడ్డింగ్‌లతో డైలాగ్‌ను తెరవాలి (బటన్ శీర్షికలు ఎగువ కుడి మూలలో) మరియు సంబంధిత శీర్షికను జోడించండి. నిండిన విలువలతో కూడిన డైలాగ్ ఇలా ఉంటుంది:
    టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం
  2. లాగిన్ అభ్యర్థన నుండి ఈ శీర్షికను నిలిపివేయండి. ఇది అర్థమయ్యేలా ఉంది: లాగిన్ సమయంలో, మాకు ఇంకా టోకెన్ లేదు మరియు మేము ఈ అభ్యర్థనతో దీన్ని ఇన్‌స్టాల్ చేస్తాము. అందువల్ల, ట్యాబ్‌లోని అభ్యర్థన యొక్క లాగిన్ ఇంటర్‌ఫేస్‌లో శీర్షికలు области వారసత్వంగా ఆథరైజేషన్ హెడర్ ఎంపికను తీసివేయండి.

అంతే. ఇప్పుడు లాగిన్ నోడ్ మినహా ప్రాజెక్ట్ నోడ్‌కు చెందిన అన్ని అభ్యర్థనలకు అధికార హెడర్ జోడించబడుతుంది. ఈ దశలో మనకు ఇప్పటికే స్క్రిప్ట్ సిద్ధంగా ఉందని మరియు మనం చేయాల్సిందల్లా దానిని ప్రారంభించడమేనని తేలింది. ఎంచుకోవడం ద్వారా మీరు స్క్రిప్ట్‌ని అమలు చేయవచ్చు రన్ ప్రాజెక్ట్ నోడ్ యొక్క సందర్భ మెనులో.

పోస్ట్ సృష్టి యొక్క ఖచ్చితత్వాన్ని తనిఖీ చేస్తోంది

ఈ దశలో, మా స్క్రిప్ట్ లాగ్ ఇన్ చేయగలదు మరియు అధికార టోకెన్‌ని ఉపయోగించి, పోస్ట్‌ను సృష్టించవచ్చు. అయితే, కొత్తగా సృష్టించిన పోస్ట్‌కి సరైన పేరు ఉందని మేము నిర్ధారించుకోవాలి. అంటే, సారాంశంలో, ఈ క్రింది వాటిని చేయడమే మిగిలి ఉంది:

  • id ద్వారా పోస్ట్‌ను స్వీకరించడానికి అభ్యర్థనను పంపండి,
  • సర్వర్ నుండి అందుకున్న పేరు పోస్ట్‌ను సృష్టించేటప్పుడు పంపిన పేరుతో సరిపోలుతుందో లేదో తనిఖీ చేయండి

మొదటి దశను చూద్దాం. స్క్రిప్ట్ అమలు సమయంలో id విలువ నిర్ణయించబడుతుంది కాబట్టి, మీరు డైనమిక్ వేరియబుల్‌ని సృష్టించాలి (దీనిని పిలుద్దాం postId) నోడ్ నుండి సృష్టించు-పోస్ట్ ప్రాజెక్ట్ నోడ్ స్థాయిలో. దీన్ని ఎలా చేయాలో మాకు ఇప్పటికే తెలుసు, విభాగాన్ని చూడండి టోకెన్‌ను వేరియబుల్‌లో సేవ్ చేయండి. ఈ ఐడిని ఉపయోగించి పోస్ట్‌ను స్వీకరించడానికి అభ్యర్థనను సృష్టించడం మాత్రమే మిగిలి ఉంది. దీన్ని చేయడానికి, అభ్యర్థన దశను సృష్టిద్దాం పొందు-పోస్ట్ కింది పారామితులతో:

  • అభ్యర్థన రకం: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

రెండవ దశను అమలు చేయడానికి, మనం పరిచయం చేసుకోవాలి నిరూపణ ముడి. అసెర్షన్ నోడ్ అనేది నిర్దిష్ట అభ్యర్థనల కోసం తనిఖీలను వ్రాయడానికి మిమ్మల్ని అనుమతించే నోడ్. ప్రతి అసెర్షన్ నోడ్‌లో అనేక వాదనలు (చెక్‌లు) ఉండవచ్చు. మీరు మా నుండి అన్ని రకాల వాదనల గురించి మరింత చదువుకోవచ్చు డాక్యుమెంటేషన్. మేము ఉపయోగిస్తాము Compare ఆపరేటర్‌తో ప్రకటన equal. ప్రకటనలను రూపొందించడానికి అనేక మార్గాలు ఉన్నాయి:

  1. పొడవు. రిక్వెస్ట్‌స్టెప్ నోడ్ యొక్క సందర్భ మెను నుండి మాన్యువల్‌గా అసెర్షన్ నోడ్‌ను సృష్టించండి. క్రియేట్ చేయబడిన అసెర్షన్ నోడ్‌లో, ఆసక్తి యొక్క అసెర్షన్‌ను జోడించి ఫీల్డ్‌లను పూరించండి.
  2. వేగంగా. కాంటెక్స్ట్ మెనుని ఉపయోగించి రిక్వెస్ట్‌స్టెప్ నోడ్ ప్రతిస్పందన నుండి అస్సెర్షన్‌తో పాటు అసెర్షన్ నోడ్‌ను సృష్టించండి

రెండవ పద్ధతిని ఉపయోగించుకుందాం. ఇది మన విషయంలో ఎలా ఉంటుంది.

టెస్ట్‌మేస్. వేగవంతమైన ప్రారంభం

అర్థం కాని వారికి, ఏమి జరుగుతుందో ఇక్కడ ఉంది:

  1. నోడ్‌లో అభ్యర్థన చేయండి పొందు-పోస్ట్
  2. ట్యాబ్‌లో పార్స్ చేయబడింది సమాధానం, సందర్భ మెనుని కాల్ చేసి ఎంచుకోండి నిశ్చయతను సృష్టించండి -> <span style="font-family: Mandali; ">సరిపోల్చండి</span> -> సమాన

అభినందనలు, మేము మా మొదటి పరీక్షను సృష్టించాము! సరళమైనది, కాదా? ఇప్పుడు మీరు స్క్రిప్ట్‌ను పూర్తిగా అమలు చేసి, ఫలితాన్ని ఆస్వాదించవచ్చు. దానిని కొద్దిగా రీఫాక్టర్ చేసి బయటకు తీయడమే మిగిలి ఉంది title ప్రత్యేక వేరియబుల్‌లోకి. కానీ మేము దీన్ని మీ కోసం హోంవర్క్‌గా వదిలివేస్తాము)

తీర్మానం

ఈ గైడ్‌లో, మేము పూర్తి స్థాయి దృష్టాంతాన్ని సృష్టించాము మరియు అదే సమయంలో మా ఉత్పత్తి యొక్క కొన్ని లక్షణాలను సమీక్షించాము. వాస్తవానికి, మేము అన్ని కార్యాచరణలను ఉపయోగించలేదు మరియు ఈ క్రింది కథనాలలో మేము TestMace యొక్క సామర్థ్యాల యొక్క వివరణాత్మక అవలోకనాన్ని అందిస్తాము. చూస్తూ ఉండండి!

PS అన్ని దశలను పునరుత్పత్తి చేయడానికి చాలా సోమరితనం ఉన్నవారి కోసం, మేము దయతో రికార్డ్ చేసాము రిపోజిటరీ వ్యాసం నుండి ప్రాజెక్ట్తో. మీరు దీన్ని తెరవవచ్చు ఫైలు -> ప్రాజెక్ట్ తెరవండి మరియు ప్రాజెక్ట్ ఫోల్డర్‌ను ఎంచుకోండి.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి