بیرته ښوونځي ته: د اتوماتیک ازموینو سره معامله کولو لپاره د لاسي ټیسټرانو روزنه څنګه

له پنځو څخه څلور د QA غوښتونکو څخه غواړي چې زده کړي چې څنګه د اتوماتیک ازموینو سره کار وکړي. ټول شرکتونه نشي کولی د کاري ساعتونو په جریان کې د لاسي ازموینې دا ډول غوښتنې پوره کړي. Wrike د کارمندانو لپاره د اتوماتیک ښوونځی جوړ کړ او د ډیرو لپاره یې دا هیله احساس کړه. ما پدې ښوونځي کې دقیقا د QA زده کونکي په توګه برخه اخیستې وه.

ما زده کړل چې څنګه د سیلینیم سره کار وکړم او اوس په خپلواکه توګه د یو ځانګړي شمیر آټوټسټس ملاتړ کوم چې په حقیقت کې هیڅ بهرنۍ مرستې سره. او، زموږ د ګډې تجربې او زما د شخصي پایلو د پایلو پراساس، زه به هڅه وکړم چې د اتوماتیک ترټولو غوره ښوونځي لپاره خورا فورمول ترلاسه کړم.

د ښوونځي په تنظیم کولو کې د Wrike تجربه

کله چې د اتوماتیک ښوونځي اړتیا روښانه شوه، د دې سازمان سټاس ډیویډوف ته ورسید، د اتوماتیک تخنیکي مشر. بل څوک کولی شي تشریح کړي چې ولې دوی دا نوښت سره مخ کړی، ایا دوی پایلې ترلاسه کړې او ایا دوی په مصرف شوي وخت پښیمانه دي؟ راځئ چې هغه ته فرش ورکړو:

- په 2016 کې، موږ د اتوماتیک ازموینو لپاره یو نوی چوکاټ ولیکه او داسې یې جوړ کړ چې د ازموینو لیکلو لپاره اسانه شو: نورمال ګامونه څرګند شول، جوړښت خورا ډیر د پوهیدو وړ شو. موږ د یوې مفکورې سره مخ شو: موږ اړتیا لرو هر هغه څوک شامل کړو چې غواړي نوي ازموینې ولولي، او د پوهیدلو اسانه کولو لپاره، موږ د لیکچرونو لړۍ جوړه کړه. موږ په ګډه د موضوعاتو یو پلان جوړ کړ، هر یو راتلونکي استادانو د ځان لپاره یو یو واخیست او په اړه یې راپور چمتو کړ.

– محصلین له کومو ستونزو سره مخ وو؟

- په عمده توګه، البته، معمارۍ. زموږ د ازموینو د جوړښت په اړه ډیری پوښتنې وې. په فیډبیک کې، په دې موضوع ډیر څه لیکل شوي او موږ باید اضافي لیکچرونه په تفصیل سره تشریح کړو.

- آیا ښوونځي پیسې ورکړې؟

- هو، حتماً. د هغې څخه مننه، ډیری خلک د لیکلو ازموینو کې ښکیل وو، او په اوسط ډول، په روغتون کې، هرڅوک په ښه توګه پوهیدل پیل کړل چې آټوټیسس څه دي، دوی څنګه لیکل کیږي او څنګه پیل کیږي. د اتومات انجینرانو بار هم کم شوی: موږ اوس د ازموینو تحلیل کولو کې د مرستې لپاره څو ځله لږ غوښتنې ترلاسه کوو ، ځکه چې ازموینو او پراختیا کونکو په نږدې ټولو حالتونو کې پخپله د دې سره مقابله پیل کړې. ښه ، د ډیپارټمنټ لپاره ډیری داخلي ګټې شتون لري: موږ په پریزنټشنونو او لیکچرونو کې تجربه ترلاسه کړې ، د دې له امله چې ځینې اتومات انجینرانو دمخه په کنفرانسونو کې د پریزنټشنونو رامینځته کولو اداره کړې ، او همدارنګه د نوي راغلو کسانو لپاره د ویډیوګانو او پریزنټشنونو قوي سیټ ترلاسه کړی.

زما په استازیتوب، زه به دا اضافه کړم چې زموږ د څانګو تر منځ اړیکه د مسخره او اسانه کچې ته ساده شوې. د مثال په توګه، اوس زه په عملي توګه د دې په اړه فکر کولو ته اړتیا نلرم چې په کومو قضیو او په کومه کچه د اتومیکیت اتومات کول. د پایلې په توګه، ټولې ښکیلې خواوې د ازموینې پوښښ ته پوره پاملرنه کوي، کوم چې په دوامداره توګه وده کوي. هیڅوک د نورو څخه د ناممکن غوښتنه نه کوي.

په عموم کې، د ټیمونو په کار اغیزه یقینا مثبته ده. شاید د دې مقالې لوستل همکاران هم د ورته څه کولو په اړه فکر کوي؟ بیا مشوره به ساده وي: دا د دې ارزښت لري که چیرې اتومات ازموینې ستاسو لپاره لومړیتوب وي. بیا، موږ به د یوې پیچلې پوښتنې په اړه وغږیږو: دا ټول څنګه د امکان تر حده په سمه توګه تنظیم کړئ، ترڅو د ټولو اړخونو لګښتونه لږترلږه وي او محصول اعظمي وي.

د تنظیم کولو لپاره لارښوونې

ښوونځی ګټور و، مګر، لکه څنګه چې سټاس ومنله، یو څه ستونزې شتون درلود، ځکه چې دا اړینه وه چې اضافي لیکچرونه تنظیم کړي. او دا د وروستي زده کونکي په توګه و چې ځان یې په ناپوهۍ او ځان کې پرتله کړ - اوس چې ما د رامینځته کولو لپاره لاندې مرحلې رامینځته کړې ، زما په نظر ، د ازموینو زده کونکو ته د اتومات ازموینې د پوهیدو لپاره غوره لاره.

مرحله 0. یو قاموس جوړ کړئ

البته، دا ګام نه یوازې د QA لپاره اړین دی. په هرصورت، زه غواړم دا روښانه کړم: د اتوماتیک کوډبیس باید د لوستلو وړ بڼه کې وساتل شي. د پروګرام کولو ژبې - لږترلږه نه ژبې، او له دې څخه تاسو کولی شئ خپل غوطه پیل کړئ.

بیرته ښوونځي ته: د اتوماتیک ازموینو سره معامله کولو لپاره د لاسي ټیسټرانو روزنه څنګه

دلته د عناصرو نومونو سره د کاري لید سکرین شاټ دی. راځئ تصور وکړو چې تاسو د تور بکس په توګه د کاري لید ازموینه کوئ او هیڅکله یې ستاسو په ژوند کې سیلینیم نه دی لیدلی. دا کوډ څه کوي؟

بیرته ښوونځي ته: د اتوماتیک ازموینو سره معامله کولو لپاره د لاسي ټیسټرانو روزنه څنګه

(سپوئلر - دنده د مدیر په استازیتوب د آرام له لارې حذف کیږي ، او بیا موږ ګورو چې په جریان کې د دې ریکارډ شتون لري.)

دا ګام یوازې د QAA او QA ژبې سره نږدې کوي. دا د اتوماتیک ټیمونو لپاره اسانه ده چې د منډې پایلې تشریح کړي؛ لاسي ټیسټران باید د قضیو رامینځته کولو کې لږې هڅې مصرف کړي: دوی لږ توضیح کیدی شي. بیا هم، هرڅوک یو بل پوهیږي. موږ ګټونکي حتی مخکې له دې چې اصلي روزنې پیل شي ترلاسه کړل.

مرحله 1. جملې تکرار کړئ

راځئ چې د ژبې سره موازي ته دوام ورکړو. کله چې موږ د کوچنيانو په توګه خبرې کول زده کوو، موږ د ایتمولوژي او سیمانټیک څخه پیل نه کوو. موږ "مور" تکراروو، "یو لوبو واخلئ"، مګر سمدلاسه د دې کلمو پروټو-هند-اروپایي ریښو ته نه ځو. نو دا دلته دی: د اتوماتیک تخنیکي ځانګړتیاو ژورو ته د ډوبولو لپاره هیڅ معنی نشته پرته له دې چې د یو څه لیکلو هڅه وکړي چې کار کوي.
دا یو څه متضاد ښکاري ، مګر دا کار کوي.

په لومړي لوست کې، دا د دې ارزښت لري چې څنګه په مستقیم ډول د اتوماتیک ازموینې لیکلو اساس ورکړي. موږ د پرمختیایي چاپیریال په ترتیب کې مرسته کوو (زما په قضیه کې، Intellij IDEA)، د ژبې لږترلږه قواعد تشریح کړئ چې د موجوده مرحلو په کارولو سره په موجوده ټولګي کې د بل میتود لیکلو لپاره اړین دي. موږ له دوی سره یو یا دوه ازموینې لیکو او دوی ته د کور کار ورکوو، کوم چې زه به یې په دې ډول بڼه کړم: یوه څانګه د ماسټر څخه جلا شوې، مګر ډیری ازموینې له هغې څخه لیرې شوي. یوازې د دوی توضیحات پاتې دي. موږ له ازموینو څخه غوښتنه کوو چې دا ازموینې بیرته راولي (البته د ښودلو توپیر له لارې نه).

د پایلې په توګه، هغه څوک چې اوریدلي او هرڅه یې ترسره کړي وي کولی شي:

  1. د پرمختیایی چاپیریال انٹرفیس سره کار کول زده کړئ: د څانګو رامینځته کول ، هاټ کیز ، کمیټونه او فشارونه؛
  2. د ژبې او ټولګیو د جوړښت اساساتو کې مهارت ترلاسه کړئ: چیرې انجیکشنونه دننه کړئ او چیرې یې وارد کړئ، ولې تشریحاتو ته اړتیا ده، او د ګامونو سربیره کوم ډول سمبولونه شتون لري؛
  3. د عمل، انتظار او چک ترمنځ توپیر درک کړئ، چیرته چې څه وکاروئ؛
  4. د آټوټسټس او لاسي چیکونو ترمینځ توپیر په پام کې ونیسئ: په اتوماتیک ازموینو کې تاسو کولی شئ د انٹرفیس له لارې د کړنو ترسره کولو پرځای یو یا بل هینډلر راوباسئ. د مثال په توګه، د ټاسک ویو د خلاصولو پر ځای مستقیم شالید ته تبصره واستوئ، د ان پټ غوره کړئ، متن ټایپ کړئ او د لیږلو تڼۍ کلیک وکړئ؛
  5. هغه پوښتنې چې په راتلونکي ګام کې به ځواب شي جوړ کړئ.

وروستی ټکی خورا مهم دی. دا ځوابونه په اسانۍ سره د وخت څخه مخکې ورکول کیدی شي، مګر دا یو مهم درسي اصول دی چې پرته له جوړ شوي پوښتنو ځوابونه په یاد نه ساتل کیږي او په پای کې د اړتیا په وخت کې نه کارول کیږي.

دا به غوره وي که پدې وخت کې د QA ټیم څخه د اتومات انجینر هغه ته دنده وسپارله چې په جګړه کې د څو ازموینو لیکلو سره وټاکي او هغه ته اجازه ورکړي چې خپلې څانګې ته ضمیمه کړي.

څه باید نه ورکول کیږي:

  1. د پرمختیایي چاپیریال او پخپله د پروګرام کولو ژبې د فعالیت په اړه ډیر ژوره پوهه، کوم چې یوازې هغه وخت اړتیا وي کله چې د څانګو سره په خپلواکه توګه کار وکړي. دا به په یاد نه وي ، تاسو به یې دوه یا درې ځله تشریح کړئ ، مګر موږ د اتومات انجینرانو وخت ته ارزښت ورکوو ، سمه ده؟ مثالونه: د شخړو حل کول، git ته د فایلونو اضافه کول، له سکریچ څخه ټولګي جوړول، د انحصار سره کار کول؛
  2. هر څه چې په 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 وکاروئ، او کله چې تاسو اړتیا لرئ د نوي عنصر لپاره جلا فایل جوړ کړئ. دا به تاسو ته اجازه درکړي چې په میراث ښه پوه شي.

دا باید په واضح ډول وویل شي چې یو واحد عنصر ټول کاري لید دی، دا د ماشوم عنصر لري - ټول جریان، چې د ماشوم عنصر لري - یو جلا تبصره، او نور. د ماشوم عناصر دواړه په پاڼه او د اتوماتیک چوکاټ په جوړښت کې د اصلي عناصرو دننه دي.

په دې وخت کې، لیدونکي باید په کلکه پوه شي چې دوی څنګه میراث شوي دي او په CommentBlock کې د ټکي وروسته څه شی ننوتلی شي. په دې وخت کې، موږ ټول چلونکي تشریح کوو: /، //، .، [] او داسې نور. موږ په بار کې د کارولو په اړه پوهه اضافه کوو @class او نور اړین شیان.

بیرته ښوونځي ته: د اتوماتیک ازموینو سره معامله کولو لپاره د لاسي ټیسټرانو روزنه څنګه

زده کونکي باید پوه شي چې څنګه xpath پدې ډول ژباړل کیږي. د یوځای کولو لپاره - دا سمه ده، د کور کار. موږ د عناصرو توضیحات حذف کوو، اجازه راکړئ چې د ازموینې کار بیرته راولي.

ولې دا ځانګړې لاره؟

موږ باید د پیچلې پوهې سره یو څوک ډیر نه کړو، مګر موږ باید هر څه په یو وخت کې تشریح کړو، او دا یوه ستونزمنه ستونزه ده. دا لاره به موږ ته اجازه راکړي چې لومړی اوریدونکي پوښتنې وکړي او په یو څه پوه نشي او په بله شیبه کې ورته ځواب ووایی. که تاسو د ټول جوړښت په اړه وغږیږئ، نو کله چې د ګامونو یا xpath موضوع تحلیل شي، د هغې خورا مهمې برخې به د دوی د نه پوهیدو له امله هیرې شي.

په هرصورت، ستاسو څخه ځینې به شاید وکوالی شي خپلې تجربې شریکې کړي چې څنګه پروسه نوره هم ښه کیدی شي. زه به خوښ شم چې په نظرونو کې ورته وړاندیزونه ولولئ!

سرچینه: www.habr.com

Add a comment