ఐదుగురు QA దరఖాస్తుదారులలో నలుగురు స్వయంచాలక పరీక్షలతో ఎలా పని చేయాలో నేర్చుకోవాలనుకుంటున్నారు. అన్ని కంపెనీలు పని గంటలలో మాన్యువల్ టెస్టర్ల యొక్క అలాంటి కోరికలను నెరవేర్చలేవు. రైక్ ఉద్యోగుల కోసం ఆటోమేషన్ పాఠశాలను నిర్వహించాడు మరియు చాలా మందికి ఈ కోరికను గ్రహించాడు. నేను ఈ పాఠశాలలో ఖచ్చితంగా QA విద్యార్థిగా పాల్గొన్నాను.
నేను సెలీనియంతో ఎలా పని చేయాలో నేర్చుకున్నాను మరియు ఇప్పుడు వాస్తవంగా బయటి సహాయం లేకుండా నిర్దిష్ట సంఖ్యలో ఆటోటెస్ట్లకు స్వతంత్రంగా మద్దతు ఇస్తున్నాను. మరియు, మా ఉమ్మడి అనుభవం మరియు నా వ్యక్తిగత ముగింపుల ఫలితాల ఆధారంగా, ఆటోమేషన్ యొక్క అత్యంత ఆదర్శ పాఠశాల కోసం నేను చాలా సూత్రాన్ని రూపొందించడానికి ప్రయత్నిస్తాను.
పాఠశాలను నిర్వహించడంలో రైక్ అనుభవం
ఆటోమేషన్ పాఠశాల అవసరం స్పష్టంగా కనిపించినప్పుడు, దాని సంస్థ ఆటోమేషన్ యొక్క సాంకేతిక నాయకుడైన స్టాస్ డేవిడోవ్కు పడిపోయింది. వారు ఈ చొరవతో ఎందుకు ముందుకు వచ్చారో, వారు ఫలితాలను సాధించారా మరియు వారు గడిపిన సమయానికి చింతిస్తున్నారా అని అతను తప్ప మరెవరు వివరించగలరు? అతనికి నేల ఇద్దాం:
— 2016లో, మేము ఆటోటెస్ట్ల కోసం కొత్త ఫ్రేమ్వర్క్ను వ్రాసాము మరియు పరీక్షలు రాయడం సులభం అయ్యేలా చేసాము: సాధారణ దశలు కనిపించాయి, నిర్మాణం మరింత అర్థమయ్యేలా మారింది. మేము ఒక ఆలోచనతో ముందుకు వచ్చాము: మేము కొత్త పరీక్షలు రాయాలనుకునే ప్రతి ఒక్కరినీ చేర్చుకోవాలి మరియు సులభంగా అర్థం చేసుకోవడానికి, మేము ఉపన్యాసాల శ్రేణిని సృష్టించాము. మేము సమిష్టిగా అంశాల ప్రణాళికతో ముందుకు వచ్చాము, భవిష్యత్ లెక్చరర్లలో ప్రతి ఒక్కరూ తమ కోసం ఒకదాన్ని తీసుకొని దానిపై ఒక నివేదికను సిద్ధం చేసాము.
- విద్యార్థులు ఎలాంటి ఇబ్బందులు పడ్డారు?
- ప్రధానంగా, వాస్తవానికి, ఆర్కిటెక్చర్. మా పరీక్షల నిర్మాణం గురించి చాలా ప్రశ్నలు ఉన్నాయి. అభిప్రాయంలో, ఈ అంశంపై చాలా వ్రాయబడింది మరియు మరింత వివరంగా వివరించడానికి మేము అదనపు ఉపన్యాసాలను నిర్వహించాల్సి వచ్చింది.
- పాఠశాల చెల్లించిందా?
- అవును, ఖచ్చితంగా. ఆమెకు ధన్యవాదాలు, చాలా మంది ప్రజలు పరీక్షలు రాయడంలో నిమగ్నమయ్యారు మరియు సగటున, ఆసుపత్రిలో, ప్రతి ఒక్కరూ ఆటోటెస్ట్లు అంటే ఏమిటి, అవి ఎలా వ్రాయబడతాయి మరియు ఎలా ప్రారంభించబడతాయి అనే విషయాలను బాగా అర్థం చేసుకోవడం ప్రారంభించారు. ఆటోమేషన్ ఇంజనీర్లపై లోడ్ కూడా తగ్గింది: పరీక్షలను విశ్లేషించడంలో సహాయం కోసం మేము ఇప్పుడు చాలా రెట్లు తక్కువ అభ్యర్థనలను స్వీకరిస్తాము, ఎందుకంటే టెస్టర్లు మరియు డెవలపర్లు దాదాపు అన్ని పరిస్థితులలో దీనిని ఎదుర్కోవడం ప్రారంభించారు. బాగా, డిపార్ట్మెంట్కు అనేక అంతర్గత ప్రయోజనాలు ఉన్నాయి: మేము ప్రెజెంటేషన్లు మరియు ఉపన్యాసాలలో అనుభవాన్ని పొందాము, దీనికి ధన్యవాదాలు కొంతమంది ఆటోమేషన్ ఇంజనీర్లు ఇప్పటికే కాన్ఫరెన్స్లలో ప్రెజెంటేషన్లను చేయగలిగారు మరియు కొత్తవారిని ఆన్బోర్డింగ్ చేయడానికి శక్తివంతమైన వీడియోలు మరియు ప్రెజెంటేషన్లను కూడా అందుకున్నారు.
నా తరపున, మా డిపార్ట్మెంట్ల మధ్య కమ్యూనికేషన్ సరళమైన హాస్యాస్పదమైన స్థాయికి సరళీకృతం చేయబడిందని నేను జోడిస్తాను. ఉదాహరణకు, ఇప్పుడు నేను ఆచరణాత్మకంగా ఏ సందర్భాలలో మరియు ఏ స్థాయిలో అణుశక్తిని ఆటోమేట్ చేయాలో ఆలోచించాల్సిన అవసరం లేదు. ఫలితంగా, ఆసక్తిగల పార్టీలన్నీ పరీక్ష కవరేజీపై పూర్తి జాగ్రత్తలు తీసుకుంటున్నాయి, ఇది నిరంతరం పెరుగుతోంది. ఇతరుల నుండి అసాధ్యమైన వాటిని ఎవరూ డిమాండ్ చేయరు.
సాధారణంగా, జట్ల పనిపై ప్రభావం ఖచ్చితంగా సానుకూలంగా ఉంటుంది. బహుశా ఈ కథనాన్ని చదివే సహోద్యోగులు కూడా ఇలాంటిదే చేయాలని ఆలోచిస్తున్నారా? అప్పుడు సలహా సరళంగా ఉంటుంది: ఆటోమేటెడ్ పరీక్షలు మీకు ప్రాధాన్యతనిస్తే అది విలువైనది. తరువాత, మేము మరింత సంక్లిష్టమైన ప్రశ్న గురించి మాట్లాడుతాము: వీటన్నింటిని సాధ్యమైనంత సరిగ్గా ఎలా నిర్వహించాలి, తద్వారా అన్ని పార్టీల ఖర్చులు తక్కువగా ఉంటాయి మరియు అవుట్పుట్ గరిష్టంగా ఉంటుంది.
ఆర్గనైజింగ్ కోసం చిట్కాలు
పాఠశాల ఉపయోగకరంగా ఉంది, కానీ, స్టాస్ అంగీకరించినట్లుగా, కొన్ని ఇబ్బందులు ఉన్నాయి, దీని కారణంగా అదనపు ఉపన్యాసాలు ఏర్పాటు చేయడం అవసరం. మరియు ఇటీవలి విద్యార్థిగా నన్ను నేను-అజ్ఞానంతో పోల్చడం మరియు ఇప్పుడు నేను-నా అభిప్రాయం ప్రకారం, స్వయంచాలక పరీక్షలను అర్థం చేసుకోవడానికి టెస్టర్లకు బోధించడానికి అనువైన మార్గాన్ని రూపొందించడానికి క్రింది దశలను రూపొందించాను.
దశ 0. నిఘంటువుని సృష్టించండి
వాస్తవానికి, ఈ దశ QA కోసం మాత్రమే అవసరం. అయినప్పటికీ, నేను దానిని స్పష్టంగా చెప్పాలనుకుంటున్నాను: ఆటోమేషన్ కోడ్బేస్ తప్పనిసరిగా చదవగలిగే రూపంలో ఉంచబడాలి. ప్రోగ్రామింగ్ భాషలు - కనీసం కాదు భాషలు, మరియు దీని నుండి మీరు మీ డైవ్ ప్రారంభించవచ్చు.
మూలకాల పేర్లతో టాస్క్వ్యూ యొక్క స్క్రీన్షాట్ ఇక్కడ ఉంది. మీరు టాస్క్వ్యూని బ్లాక్ బాక్స్గా పరీక్షిస్తున్నారని మరియు మీ జీవితంలో ఎన్నడూ సెలీనియం చూడలేదని ఊహించుకుందాం. ఈ కోడ్ ఏమి చేస్తుంది?
(స్పాయిలర్ - అడ్మిన్ తరపున పని విశ్రాంతి ద్వారా తొలగించబడుతుంది, ఆపై స్ట్రీమ్లో దీని రికార్డ్ ఉన్నట్లు మేము చూస్తాము.)
ఈ దశ మాత్రమే QAA మరియు QA భాషలను దగ్గర చేస్తుంది. ఆటోమేషన్ టీమ్లు రన్ ఫలితాలను వివరించడం సులభం; మాన్యువల్ టెస్టర్లు కేసులను రూపొందించడానికి తక్కువ ప్రయత్నం చేయాల్సి ఉంటుంది: వాటిని తక్కువ వివరంగా తయారు చేయవచ్చు. అయినప్పటికీ, ప్రతి ఒక్కరూ ఒకరినొకరు అర్థం చేసుకుంటారు. అసలు శిక్షణ ప్రారంభం కాకముందే మేము విజయాలను అందుకున్నాము.
దశ 1. పదబంధాలను పునరావృతం చేయండి
భాషతో సమాంతరంగా కొనసాగిద్దాం. మనం చిన్నతనంలో మాట్లాడటం నేర్చుకున్నప్పుడు, మనం శబ్దవ్యుత్పత్తి మరియు అర్థశాస్త్రం నుండి ప్రారంభించము. మేము "అమ్మ", "బొమ్మ కొనండి" అని పునరావృతం చేస్తాము, కానీ వెంటనే ఈ పదాల ప్రోటో-ఇండో-యూరోపియన్ మూలాల్లోకి వెళ్లవద్దు. కాబట్టి ఇది ఇక్కడ ఉంది: పని చేసేదాన్ని వ్రాయడానికి ప్రయత్నించకుండా ఆటోటెస్ట్ల యొక్క సాంకేతిక లక్షణాల యొక్క చాలా లోతుల్లోకి డైవింగ్ చేయడంలో ఎటువంటి పాయింట్ లేదు.
ఇది కొద్దిగా ప్రతికూలంగా అనిపిస్తుంది, కానీ ఇది పనిచేస్తుంది.
మొదటి పాఠంలో, ఆటోటెస్ట్లను నేరుగా ఎలా వ్రాయాలో ఆధారం ఇవ్వడం విలువ. మేము అభివృద్ధి వాతావరణాన్ని సెటప్ చేయడంలో సహాయం చేస్తాము (నా విషయంలో, Intellij IDEA), ఇప్పటికే ఉన్న దశలను ఉపయోగించి ఇప్పటికే ఉన్న తరగతిలో మరొక పద్ధతిని వ్రాయడానికి అవసరమైన కనీస భాషా నియమాలను వివరించండి. మేము వారితో ఒకటి లేదా రెండు పరీక్షలు వ్రాస్తాము మరియు వారికి హోంవర్క్ ఇస్తాము, నేను ఇలా ఫార్మాట్ చేస్తాను: మాస్టర్ నుండి ఒక శాఖ వేరు చేయబడింది, కానీ దాని నుండి అనేక పరీక్షలు తీసివేయబడ్డాయి. వాటి వివరణలు మాత్రమే మిగిలి ఉన్నాయి. మేము ఈ పరీక్షలను పునరుద్ధరించమని పరీక్షకులను అడుగుతాము (కోర్సులో షో డిఫ్ ద్వారా కాదు).
తత్ఫలితంగా, ప్రతిదీ విన్న మరియు చేసిన వ్యక్తి చేయగలడు:
- అభివృద్ధి పర్యావరణ ఇంటర్ఫేస్తో పని చేయడం నేర్చుకోండి: శాఖలు, హాట్కీలు, కమిట్లు మరియు పుష్లను సృష్టించడం;
- భాష మరియు తరగతుల నిర్మాణం యొక్క ప్రాథమికాలను నేర్చుకోండి: ఇంజెక్షన్లను ఎక్కడ చొప్పించాలి మరియు ఎక్కడ దిగుమతి చేయాలి, ఉల్లేఖనాలు ఎందుకు అవసరం మరియు దశలతో పాటు అక్కడ ఎలాంటి చిహ్నాలు కనిపిస్తాయి;
- చర్య, వేచి ఉండండి మరియు తనిఖీ చేయడం మధ్య వ్యత్యాసాన్ని అర్థం చేసుకోండి, దేనిని ఎక్కడ ఉపయోగించాలి;
- ఆటోటెస్ట్లు మరియు మాన్యువల్ చెక్ల మధ్య వ్యత్యాసాన్ని గమనించండి: ఆటోటెస్ట్లలో మీరు ఇంటర్ఫేస్ ద్వారా చర్యలను చేయడానికి బదులుగా ఒకటి లేదా మరొక హ్యాండ్లర్ను లాగవచ్చు. ఉదాహరణకు, టాస్క్వ్యూను తెరవడం, ఇన్పుట్ని ఎంచుకోవడం, వచనాన్ని టైప్ చేయడం మరియు పంపు బటన్ను క్లిక్ చేయడం వంటి వాటికి బదులుగా నేరుగా బ్యాకెండ్కు వ్యాఖ్యను పంపండి;
- తదుపరి దశలో సమాధానం ఇవ్వబడే ప్రశ్నలను రూపొందించండి.
చివరి పాయింట్ చాలా ముఖ్యమైనది. ఈ సమాధానాలను సులభంగా ముందుగానే ఇవ్వవచ్చు, అయితే సూత్రీకరించబడిన ప్రశ్నలు లేని సమాధానాలు గుర్తుంచుకోబడవు మరియు చివరకు అవసరమైనప్పుడు ఉపయోగించబడవు అనేది ఒక ముఖ్యమైన బోధనా సూత్రం.
ఈ సమయంలో QA బృందంలోని ఒక ఆటోమేషన్ ఇంజనీర్ అతనికి యుద్ధంలో రెండు పరీక్షలు రాయడానికి ఒక పనిని అప్పగించి, అతని బ్రాంచ్కు సబ్కమిట్ చేయడానికి అనుమతిస్తే అది ఆదర్శంగా ఉంటుంది.
ఏమి ఇవ్వకూడదు:
- అభివృద్ధి వాతావరణం మరియు ప్రోగ్రామింగ్ భాష యొక్క కార్యాచరణ గురించి మరింత లోతైన జ్ఞానం, ఇది స్వతంత్రంగా శాఖలతో పని చేస్తున్నప్పుడు మాత్రమే అవసరం. ఇది గుర్తుంచుకోబడదు, మీరు దీన్ని రెండుసార్లు లేదా మూడుసార్లు వివరించాలి, కానీ మేము ఆటోమేషన్ ఇంజనీర్ల సమయాన్ని విలువైనదిగా భావిస్తాము, సరియైనదా? ఉదాహరణలు: వైరుధ్యాలను పరిష్కరించడం, ఫైల్లను gitకి జోడించడం, మొదటి నుండి తరగతులను సృష్టించడం, డిపెండెన్సీలతో పని చేయడం;
- xpathకి సంబంధించిన ప్రతిదీ. తీవ్రంగా. మీరు దాని గురించి విడిగా, ఒకసారి మరియు చాలా ఏకాగ్రతతో మాట్లాడాలి.
దశ 2. వ్యాకరణాన్ని నిశితంగా పరిశీలించడం
దశ #0 నుండి టాస్క్వ్యూ స్క్రీన్షాట్ను గుర్తుంచుకోండి. మేము checkCommentWithTextExists అనే దశను కలిగి ఉన్నాము. ఈ దశ ఏమి చేస్తుందో మా టెస్టర్ ఇప్పటికే అర్థం చేసుకున్నాడు మరియు మనం స్టెప్ లోపల చూసి దానిని కొద్దిగా కుళ్ళిపోవచ్చు.
మరియు లోపల మనకు ఈ క్రిందివి ఉన్నాయి:
onCommentBlock(userName).comment(expectedText).should(displayed());
onCommentBlock ఎక్కడ ఉంది
onCommonStreamPanel().commentBlock(userName);
ఇప్పుడు మనం "బొమ్మను కొనండి" అని చెప్పడం నేర్చుకుంటాము, కానీ "పై నుండి మూడవ షెల్ఫ్లోని నీలిరంగు క్యాబినెట్లో ఉన్న డెట్స్కీ మీర్ స్టోర్ నుండి బొమ్మను కొనండి." మేము పెద్ద మూలకాల నుండి ఒక మూలకాన్ని క్రమానుగతంగా సూచిస్తున్నామని వివరించడం అవసరం (స్ట్రీమ్ -> నిర్దిష్ట వ్యక్తి నుండి వ్యాఖ్యలతో బ్లాక్ చేయండి -> పేర్కొన్న టెక్స్ట్ ఉన్న ఈ బ్లాక్లోని భాగం).
లేదు, xpath గురించి మాట్లాడటానికి ఇది ఇంకా సమయం కాదు. ఈ సూచనలన్నీ వారిచే వివరించబడినవి మరియు వారసత్వం వాటి ద్వారా వెళుతుందని క్లుప్తంగా పేర్కొనండి. కానీ మేము ఈ మ్యాచ్లు మరియు వెయిటర్లందరి గురించి మాట్లాడాలి; వారు ఈ దశకు ప్రత్యేకంగా సంబంధం కలిగి ఉంటారు మరియు ఏమి జరుగుతుందో అర్థం చేసుకోవడం అవసరం. కానీ ఓవర్లోడ్ చేయవద్దు: మీ విద్యార్థి మరింత సంక్లిష్టమైన వాదనలను తర్వాత తనంతట తానుగా అధ్యయనం చేయవచ్చు. చాలా మటుకు, తప్పక, వేచి ఉండే వరకు, ప్రదర్శించబడుతుంది();, ఉనికిలో();, కాదు(); సరిపోతుంది.
హోంవర్క్ స్పష్టంగా ఉంది: నిర్దిష్ట సంఖ్యలో పరీక్షలకు అవసరమైన అనేక దశల కంటెంట్లు తీసివేయబడిన శాఖ. పరీక్షకులు వాటిని పునరుద్ధరించి, రన్ మళ్లీ ఆకుపచ్చగా ఉండేలా చేయండి.
అదనంగా, పరీక్ష బృందం దాని పనిలో కొత్త లక్షణాలను మాత్రమే కాకుండా, కొన్ని బగ్ పరిష్కారాలను కూడా కలిగి ఉంటే, మీరు వెంటనే ఈ బగ్ల కోసం పరీక్షలు వ్రాసి వాటిని విడుదల చేయమని అతనిని అడగవచ్చు. చాలా మటుకు, అన్ని అంశాలు ఇప్పటికే వివరించబడ్డాయి; కొన్ని దశలు మాత్రమే కనిపించకుండా ఉండవచ్చు. ఇది సరైన వ్యాయామం అవుతుంది.
దశ 3. పూర్తి ఇమ్మర్షన్
తన ప్రత్యక్ష విధులను కొనసాగించబోయే టెస్టర్ కోసం వీలైనంత పూర్తి. చివరగా, మనం xpath గురించి మాట్లాడాలి.
ముందుగా, ఈ ఆన్కామెంట్బ్లాక్ మరియు కామెంట్ అన్నీ వారిచే వివరించబడినవని స్పష్టం చేద్దాం.
మొత్తం:
"//div[contains(@class, ‘stream-panel’)]//a[contains(@class,'author') and text()='{{ userName }}’]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}’)]"
కథ క్రమం చాలా ముఖ్యం. ముందుగా, మేము ఇప్పటికే ఉన్న ఏదైనా xpathని తీసుకుంటాము మరియు మూలకాల ట్యాబ్లో ఒకే ఒక మూలకం ఎలా ఉందో చూపుతాము. తరువాత, మేము నిర్మాణం గురించి మాట్లాడుతాము: మీరు WebElement ఉపయోగించాల్సిన అవసరం వచ్చినప్పుడు మరియు మీరు కొత్త మూలకం కోసం ప్రత్యేక ఫైల్ను సృష్టించాల్సిన అవసరం వచ్చినప్పుడు. ఇది వారసత్వాన్ని బాగా అర్థం చేసుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది.
ఒకే మూలకం మొత్తం టాస్క్వ్యూ అని స్పష్టంగా చెప్పాలి, అది చైల్డ్ ఎలిమెంట్ని కలిగి ఉంటుంది - మొత్తం స్ట్రీమ్, ఇందులో చైల్డ్ ఎలిమెంట్ ఉంటుంది - ఒక ప్రత్యేక వ్యాఖ్య మొదలైనవి. చైల్డ్ ఎలిమెంట్స్ పేజీలో మరియు ఆటోటెస్ట్ ఫ్రేమ్వర్క్ నిర్మాణంలో పేరెంట్ ఎలిమెంట్స్లో ఉంటాయి.
ఈ సమయంలో, ప్రేక్షకులు వారు ఎలా వారసత్వంగా పొందుతారో మరియు onCommentBlock వద్ద డాట్ తర్వాత ఏమి నమోదు చేయవచ్చో దృఢంగా అర్థం చేసుకోవాలి. ఈ సమయంలో, మేము అన్ని ఆపరేటర్లను వివరిస్తాము: /, //, ., [] మరియు మొదలైనవి. మేము లోడ్లో ఉపయోగం గురించి జ్ఞానాన్ని జోడిస్తాము @class
మరియు ఇతర అవసరమైన విషయాలు.
xpathని ఈ విధంగా ఎలా అనువదించాలో విద్యార్థులు అర్థం చేసుకోవాలి. ఏకీకృతం చేయడానికి - అది సరైనది, హోంవర్క్. మేము అంశాల వివరణలను తొలగిస్తాము, వాటిని పరీక్షల పనిని పునరుద్ధరించనివ్వండి.
ఈ ప్రత్యేక మార్గం ఎందుకు?
సంక్లిష్ట పరిజ్ఞానం ఉన్న వ్యక్తిని మనం ఓవర్లోడ్ చేయకూడదు, కానీ మనం ప్రతిదీ ఒకేసారి వివరించాలి మరియు ఇది కష్టమైన గందరగోళం. ఈ మార్గం మొదట శ్రోతలు ప్రశ్నలు అడగడానికి మరియు ఏదైనా అర్థం చేసుకోకుండా చేయడానికి మరియు మరుసటి క్షణం వారికి సమాధానం ఇవ్వడానికి అనుమతిస్తుంది. మీరు మొత్తం ఆర్కిటెక్చర్ గురించి మాట్లాడినట్లయితే, దశలు లేదా xpath యొక్క అంశాన్ని విశ్లేషించే సమయానికి, దానిలోని అతి ముఖ్యమైన భాగాలు వాటి అపారమయిన కారణంగా ఇప్పటికే మర్చిపోయి ఉంటాయి.
అయినప్పటికీ, మీలో కొందరు ప్రాసెస్ను మరింత ఆప్టిమైజ్ చేయడం ఎలా అనే దానిపై మీ అనుభవాన్ని పంచుకోగలరు. వ్యాఖ్యలలో ఇలాంటి సూచనలను చదవడానికి నేను సంతోషిస్తాను!
మూలం: www.habr.com