
ఇమెయిల్ పరీక్ష యొక్క నమ్మకంలేని వెర్షన్ చిన్నది: ఒక చిరునామాను సృష్టించండి, ఐదు సెకన్లు నిద్రించండి, మొదటి సందేశాన్ని చదవండి, మరియు అది ఈ రన్కు చెందినదని ఆశించండి.
నమ్మకమైన వెర్షన్ ఇంకా సులభమే, కానీ ఇది డెలివరీని అసింక్రోనస్గా పరిగణిస్తుంది. ఇది ఒక ప్రత్యేక చిరునామాను సృష్టిస్తుంది, ప్రారంభ సమయాన్ని రికార్డ్ చేస్తుంది, గడువు సమయానికి లోపల పోలింగ్ చేస్తుంది, ఉద్దేశించిన సందేశాన్ని మ్యాచ్ చేస్తుంది, ఉత్పత్తి చర్యను ధృవీకరిస్తుంది, మరియు ఏదైనా విఫలమైతే సరిపడా సందర్భాన్ని నివేదిస్తుంది.
API కీని URLలో ఉంచవద్దు
GPTMail కీని X-API-Key హెడర్లో పంపండి. దాన్ని ?api_key= క్వెరీ పరామితుల్లో పెట్టవద్దు. URLలు బ్రౌజర్ చరిత్ర, యాక్సెస్ లాగ్లు, మానిటరింగ్ సిస్టమ్లు, మరియు రిఫరర్ డేటాలో సాధారణంగా నిల్వ చేయబడతాయి.
X-API-Key: YOUR_API_KEYకీని మీ CI సీక్రెట్ మేనేజర్లో నిల్వ చేసి, లాగ్లలో మాస్క్ చేయండి. అన్వేషణ కోసం ఒక పబ్లిక్ డైలీ కీ సౌకర్యవంతంగా ఉంటుంది; నియంత్రిత ఆటోమేటెడ్ సూట్లు కోటా మరియు వినియోగాన్ని మీరు ట్రాక్ చేయగల కీని ఉపయోగించాలి.
ప్రస్తుత ఎండ్పాయింట్లు మరియు రెస్పాన్స్ ఉదాహరణలు GPTMail API డాక్యుమెంటేషన్ పేజీలో నిర్వహించబడుతున్నాయి.
ప్రతి రన్కు ఒక చిరునామా
ప్రతి స్వతంత్రంగా అమలు చేయగల పరీక్షకు కొత్త చిరునామాను సృష్టించండి. మొత్తం పరీక్ష సూట్తో పంచుకునే ఇన్బాక్స్ నుండి సరిచేయబడినదని నిర్ధారించవద్దు.
చిరునామా, సన్నివేశ ID, వాతావరణం, మరియు పరీక్ష ప్రారంభ సమయాన్ని రికార్డ్ చేయండి. ఈ విలువలు మీకు పాత సందేశాలను తిరస్కరించడానికి మరియు సందేశ రహస్యాలను లాగ్ చేయకుండా ఘర్షణలను నిర్ధారించడానికి సహాయపడతాయి.
స్థిర నిద్రకు బదులుగా గడువు సమయానికి పోలింగ్ చేయండి
ఇమెయిల్ డెలివరీ సమయం మారుతుంది. స్థిర ఐదు-సెకన్ల నిద్ర వేగంగా డెలివరీ అయినప్పుడు వృథా, నెమ్మదిగా ఉన్నప్పుడు అస్థిరంగా ఉంటుంది.
పరిమిత లూప్ను ఉపయోగించండి:
deadline = now + 90 seconds
delay = 2 seconds
while now < deadline:
messages = list inbox
candidate = newest message matching sender, subject, and start time
if candidate exists:
read candidate and continue the product test
wait delay with a small random jitter
delay = min(delay * 1.5, 10 seconds)గడువు సమయం పరీక్ష ఒప్పందానికి చెందినది. పాస్వర్డ్‑రీసెట్ ఫ్లోకు బల్క్ న్యూస్లెటర్ ప్రివ్యూ కన్నా వేరే పరిమితి అవసరం కావచ్చు. పరిమితిని స్పష్టంగా ఉంచండి, ώστε నెమ్మదిగా ఉన్న ఆధారము మొత్తం CI జాబ్ను నిశ్శబ్దంగా పొడిగించకుండా.
ఖచ్చితంగా మ్యాచ్ చేయండి
“ఇన్బాక్స్లో మొదటి సందేశం” ఉపయోగకరమైన సెలెక్టర్ కాదు. అనేక సంకేతాలను మ్యాచ్ చేయండి:
- గ్రాహకుడు ఈ రన్ కోసం సృష్టించిన చిరునామాతో సమానం;
- సృష్టి సమయం ట్రిగ్గర్ సమయానికి తరువాత ఉండాలి;
- పంపనివారు ఆశించిన సేవకు చెందినవారు;
- విషయం లేదా సందేశ రకం ఫ్లోకు సరిపోతుంది;
- సందేశ ID ఇప్పటికే వినియోగించబడలేదు.
పంపనివారు అనేక కోడ్లు జారీ చేయగలిగితే, తాజా మ్యాచ్ అయిన సందేశాన్ని ఎంచుకోండి. దాని IDని పరీక్ష ఫలితాల్లో నిలుపుకోండి, తద్వారా రీట్రైలు అనుకోకుండా దాన్ని మళ్లీ ఉపయోగించలేవు.
జాబితా మ్యాచ్ తర్వాత మాత్రమే చదవండి
ఇన్బాక్స్ లిస్టింగ్ చవకైన అన్వేషణ దశగా ఉండాలి. ఎంపిక చేసిన అభ్యర్థికి మాత్రమే పూర్తి సందేశాన్ని పొందండి. ఇది అవసరం లేని పనిని తగ్గిస్తుంది మరియు సంబంధం లేని ప్రమోషనల్ మెయిల్ను పార్స్ చేయడాన్ని నివారిస్తుంది.
వ్యాపార ఫలితాన్ని మాత్రమే కాకుండా, ఆరు-అంకెల స్ట్రింగ్ ఉనికిని మాత్రమే కాకుండా, ధృవీకరించండి. కోడ్ను సమర్పించండి లేదా ఆశించిన లింక్ను తెరవండి, తరువాత ఖాతా సరైన స్థితికి చేరిందని నిర్ధారించండి.
రేట్ లిమిట్లను సంకేతంగా నిర్వహించండి
API కోటా లేదా రేట్‑లిమిట్ ప్రతిస్పందన ఇస్తే, ప్రస్తుత ప్రయత్నాన్ని ఆపి రీసెట్ సమాచారం చూపించండి. దూకుడైన రీట్రైలు స్పష్టమైన సామర్థ్య సంకేతాన్ని శబ్దంగా మార్చి, సంబంధం లేని పరీక్షలను ఆలస్యం చేయవచ్చు.
పరీక్ష రన్నర్లో సమకాలికతను పరిమితం చేయండి, ముఖ్యంగా సూట్ ఒకేసారి అనేక చిరునామాలను సృష్టించినప్పుడు. చిన్న వర్కర్ పూల్ వందలాది సమకాలిక పోలింగ్ లూప్ల కంటే డీబగ్ చేయడానికి సులభం.
వైఫల్యాలను దాచకుండా శుభ్రపరచండి
సాక్ష్యాలు సేకరించిన తర్వాత శుభ్రపరచడం జరగాలి. విజయవంతంగా ఉంటే, సందేశాలను తొలగించండి లేదా చిన్న రిటెన్షన్ వాటిని నిర్వహించనివ్వండి. వైఫల్యంగా ఉంటే, చిరునామా మరియు సందేశ IDని రక్షిత CI ఆర్టిఫాక్ట్స్లో పరిశోధనకు సరిపడా కాలం నిలుపుకుని, తరువాత వాటిని తొలగించండి.
వెరిఫికేషన్ కోడ్లు, ప్రైవేట్ లింక్లు, లేదా పూర్తి HTML బాడీలను పబ్లిక్ బిల్డ్ లాగ్లలో ఎప్పుడూ ముద్రించవద్దు.
రీట్రైలను ఐడెంపొటెంట్ చేయండి
పరీక్షను కొత్త చిరునామాతో కొత్త రన్గా రీట్రై చేయండి. అదే ఖాతా మరియు ఇన్బాక్స్పై అదే అభ్యర్థనను పునరావృతం చేయడం శుభ్రమైన స్థితి నుండి ప్రారంభమవుతుందని అనుకోవద్దు. పంపనివారు పాత కోడ్లను అమాన్యంగా చేయవచ్చు, పునరావృత అభ్యర్థనలను పరిమితం చేయవచ్చు, లేదా నకిలీ ఆహ్వానాలను తిరస్కరించవచ్చు.
నెట్వర్క్ అభ్యర్థన టైమ్‑అవుట్ అయితే, “ప్రతిస్పందన రాలేదు” మరియు “ఆపరేషన్ జరగలేదు” మధ్య తేడా గుర్తించండి. విధ్వంసకర రీట్రై చేయడానికి ముందు గమనించగల స్థితిని తనిఖీ చేయండి.
వైఫల్య బిందువును నివేదించండి
ఉపయోగకరమైన ఆటోమేషన్ వైఫల్యం ఈ దశలలో ఒకదాన్ని గుర్తిస్తుంది:
- చిరునామా సృష్టి విఫలమైంది;
- ఇమెయిల్ క్యూ చేయడానికి ముందు ఉత్పత్తి చర్య విఫలమైంది;
- గడువు సమయానికి ముందు మ్యాచ్ అయిన సందేశం రాలేదు;
- సందేశం వచ్చింది కానీ విషయం మ్యాచ్ కాలేదు;
- వెరిఫికేషన్ చర్య విఫలమైంది;
- శుభ్రపరచడం విఫలమైంది.
ఆ వర్గీకరణ ఒక అంతరాయ “ఇమెయిల్ పరీక్ష విఫలమైంది” ను టీమ్ స్వాధీనంలోకి తీసుకురాగల పనిగా మార్చుతుంది.
విస్తృత పరీక్ష మ్యాట్రిక్స్ కోసం, ఒక నిజమైన ఇమెయిల్ పరీక్షా ప్రణాళికను చదవండి. డెలివరీ నిర్ధారణ కోసం, వెరిఫికేషన్ ఇమెయిల్ రాకపోవడం: దెబ్బతిన్న దశను కనుగొనండిను ఉపయోగించండి.