டெஸ்ட்மேஸ். வேகமான ஆரம்பம்

டெஸ்ட்மேஸ். வேகமான ஆரம்பம்

அனைவருக்கும் வணக்கம். நாங்கள் மெதுவாக நிழலில் இருந்து வெளிவருகிறோம் மற்றும் எங்கள் தயாரிப்பு பற்றிய தொடர் கட்டுரைகளைத் தொடர்கிறோம். பிறகு முந்தைய மறுஆய்வுக் கட்டுரையில், நாங்கள் நிறைய கருத்துகளைப் பெற்றோம் (பெரும்பாலும் நேர்மறை), பரிந்துரைகள் மற்றும் பிழை அறிக்கைகள். இன்று நாம் காண்பிப்போம் டெஸ்ட்மேஸ் செயலில் மற்றும் எங்கள் பயன்பாட்டின் சில அம்சங்களை நீங்கள் பாராட்ட முடியும். இன்னும் முழுமையாக மூழ்குவதற்கு, எங்கள் ஆவணங்களை இங்கு பார்க்குமாறு நான் உங்களுக்கு அறிவுறுத்துகிறேன் http://docs-ru.testmace.com. எனவே, போகலாம்!

நிறுவல்

சாதாரணமாக ஆரம்பிக்கலாம். பயன்பாடு கிடைக்கிறது மற்றும் உண்மையில் மூன்று தளங்களில் சோதிக்கப்படுகிறது - லினக்ஸ், விண்டோஸ், மேகோஸ். நீங்கள் விரும்பும் OS இன் நிறுவியை நீங்கள் பதிவிறக்கலாம் எங்கள் வலைத்தளம். லினக்ஸ் பயனர்களுக்கு இதை நிறுவ முடியும் ஸ்னாப் தொகுப்பு. மைக்ரோசாஃப்ட் ஸ்டோர் மற்றும் ஆப் ஸ்டோர் விரைவில் அதைச் சுற்றி வரும் என்று நாங்கள் நம்புகிறோம் (அது அவசியமா? நீங்கள் என்ன நினைக்கிறீர்கள்?).

பரிசோதனைக் காட்சி

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

  • உள்நுழைவு: பயனர் - நிர்வாகம், கடவுச்சொல் - கடவுச்சொல்
  • புதிய பதிவைச் சேர்க்கவும்
  • பதிவு சரியாக சேர்க்கப்பட்டுள்ளதா என்று பார்ப்போம்

நாங்கள் சோதனை செய்வோம் 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. உள்நுழைவு கோரிக்கையிலிருந்து இந்த தலைப்பை முடக்கவும். இது புரிந்துகொள்ளத்தக்கது: உள்நுழைவு நேரத்தில், எங்களிடம் இன்னும் டோக்கன் இல்லை, இந்த கோரிக்கையுடன் அதை நிறுவுவோம். எனவே, தாவலில் உள்ள கோரிக்கையின் உள்நுழைவு இடைமுகத்தில் தலைப்புகளை பகுதியில் பரம்பரை அங்கீகாரத் தலைப்பைத் தேர்வுநீக்கவும்.

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

இடுகை உருவாக்கத்தின் சரியான தன்மையை சரிபார்க்கிறது

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

  • ஐடி மூலம் இடுகையைப் பெற கோரிக்கையை அனுப்பவும்,
  • சேவையகத்திலிருந்து பெறப்பட்ட பெயர் இடுகையை உருவாக்கும் போது அனுப்பப்பட்ட பெயருடன் பொருந்துகிறதா என்று சரிபார்க்கவும்

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

  • கோரிக்கை வகை: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

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

  1. நீளமானது. RequestStep nodeன் சூழல் மெனுவிலிருந்து ஒரு கூற்று முனையை கைமுறையாக உருவாக்கவும். உருவாக்கப்பட்ட உறுதிமொழி முனையில், ஆர்வத்தின் உறுதிமொழியைச் சேர்த்து, புலங்களை நிரப்பவும்.
  2. வேகமாக. சூழல் மெனுவைப் பயன்படுத்தி RequestStep node பதிலில் இருந்து ஒரு வலியுறுத்தலுடன் ஒரு வலியுறுத்தல் முனையை உருவாக்கவும்

இரண்டாவது முறையைப் பயன்படுத்துவோம். இது எங்கள் விஷயத்தில் இப்படித்தான் இருக்கும்.

டெஸ்ட்மேஸ். வேகமான ஆரம்பம்

புரியாதவர்களுக்கு, இங்கே என்ன நடக்கிறது:

  1. முனையில் கோரிக்கை விடுங்கள் பெற-பதவி
  2. தாவலில் பாகுபடுத்தப்பட்டது பதில், சூழல் மெனுவை அழைத்து தேர்ந்தெடுக்கவும் வலியுறுத்தலை உருவாக்கவும் -> ஒப்பிடு -> சம

வாழ்த்துக்கள், நாங்கள் எங்கள் முதல் சோதனையை உருவாக்கியுள்ளோம்! எளிமையானது, இல்லையா? இப்போது நீங்கள் ஸ்கிரிப்டை முழுமையாக இயக்கலாம் மற்றும் முடிவை அனுபவிக்கலாம். அதை கொஞ்சம் ரீஃபாக்டர் செய்து வெளியே எடுப்பதுதான் மிச்சம் title ஒரு தனி மாறியாக. ஆனால் இதை நாங்கள் உங்களுக்கு வீட்டுப்பாடமாக விட்டுவிடுகிறோம்)

முடிவுக்கு

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

PS அனைத்து படிகளையும் மீண்டும் உருவாக்க மிகவும் சோம்பேறியாக இருப்பவர்களுக்கு, நாங்கள் தயவுசெய்து பதிவு செய்துள்ளோம் களஞ்சியம் கட்டுரையிலிருந்து திட்டத்துடன். நீங்கள் அதை திறக்க முடியும் கோப்பு -> திட்டத்தைத் திறக்கவும் மற்றும் திட்ட கோப்புறையைத் தேர்ந்தெடுக்கவும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்