Air ais don sgoil: mar a thrèanadh tu luchd-dearbhaidh làimhe gus dèiligeadh ri deuchainnean fèin-ghluasadach

Tha ceathrar a-mach à còig tagraichean QA airson ionnsachadh mar a dh’ obraicheas iad le deuchainnean fèin-ghluasadach. Chan urrainn dha a h-uile companaidh miann luchd-dearbhaidh làimhe a choileanadh rè uairean obrach. Chùm Wrike sgoil fèin-ghluasaid airson luchd-obrach agus thuig e am miann seo airson mòran. Ghabh mi pàirt anns an sgoil seo gu dìreach mar oileanach QA.

Dh'ionnsaich mi mar a bhith ag obair le Selenium agus a-nis gu neo-eisimeileach a 'toirt taic do àireamh sònraichte de autotests le cha mhòr gun chuideachadh bhon taobh a-muigh. Agus, stèidhichte air toraidhean ar co-eòlais agus mo cho-dhùnaidhean pearsanta, feuchaidh mi ris an fhìor fhoirmle fhaighinn airson an sgoil fèin-ghluasaid as fheàrr.

Eòlas Wrike ann a bhith a’ cur sgoil air dòigh

Nuair a dh'fhàs e soilleir gu robh feum air sgoil fèin-ghluasaid, thuit a bhuidheann gu Stas Davydov, stiùiriche teignigeach fèin-ghluasaid. Cò eile ach is urrainn mìneachadh carson a thàinig iad suas leis an iomairt seo, an do choilean iad toraidhean agus an robh aithreachas orra mun ùine a chuir iad seachad? Bheir sinn dha an làr:

- Ann an 2016, sgrìobh sinn frèam ùr airson autotests agus rinn sinn e gus am biodh e furasta deuchainnean a sgrìobhadh: nochd ceumannan àbhaisteach, dh’ fhàs an structar tòrr nas so-thuigsinn. Thàinig sinn suas le beachd: feumaidh sinn a bhith an sàs anns a h-uile duine a tha airson deuchainnean ùra a sgrìobhadh, agus gus a dhèanamh nas fhasa a thuigsinn, chruthaich sinn sreath de dh’òraidean. Còmhla rinn sinn plana de chuspairean, ghabh gach òraidiche san àm ri teachd fear dhaibh fhèin agus dheasaich iad aithisg air.

— Dè na duilgheadasan a bh’ aig na h-oileanaich?

- Sa mhòr-chuid, gu dearbh, ailtireachd. Bha mòran cheistean ann mu structar ar deuchainnean. Ann am fios air ais, chaidh tòrr a sgrìobhadh air a’ chuspair seo agus bha againn ri òraidean a bharrachd a chumail airson mìneachadh nas mionaidiche.

- An do phàigh an sgoil dheth?

- Tha, gu cinnteach. Taing dhi, bha mòran dhaoine an sàs ann a bhith a 'sgrìobhadh dheuchainnean, agus, gu cuibheasach, san ospadal, thòisich a h-uile duine a' tuigsinn nas fheàrr dè a th 'ann an autotests, mar a tha iad air an sgrìobhadh agus mar a tha iad air an cur air bhog. Tha an eallach air innleadairean fèin-ghluasaid air a dhol sìos cuideachd: tha sinn a-nis a’ faighinn mòran thursan nas lugha de dh ’iarrtasan airson cuideachadh le bhith a’ sgrùdadh dheuchainnean, leis gu bheil luchd-dearbhaidh agus luchd-leasachaidh air tòiseachadh a ’dèiligeadh ri seo iad fhèin anns cha mhòr a h-uile suidheachadh. Uill, tha grunn bhuannachdan taobh a-staigh na roinne: fhuair sinn eòlas air taisbeanaidhean agus òraidean, le taing dha gu bheil cuid de innleadairean fèin-ghluasaid air a bhith comasach air taisbeanaidhean a dhèanamh aig co-labhairtean, agus cuideachd air seata cumhachdach de bhideothan agus taisbeanaidhean fhaighinn airson daoine a thàinig a-steach às ùr.

Às mo leth fhìn, cuiridh mi ris gu bheil conaltradh eadar na roinnean againn air a dhèanamh nas sìmplidhe gu ìre gu math furasta a tha furasta. Mar eisimpleir, a-nis cha mhòr nach fheum mi smaoineachadh air dè na cùisean agus dè an ìre de atomachd airson fèin-ghluasad. Mar thoradh air an sin, tha a h-uile duine le ùidh a 'toirt làn aire don chòmhdach deuchainn, a tha daonnan a' fàs. Chan eil duine ag iarraidh an rud do-dhèanta bho dhaoine eile.

San fharsaingeachd, tha a’ bhuaidh air obair sgiobaidhean gu cinnteach deimhinneach. Is dòcha gu bheil co-obraichean a tha a 'leughadh an artaigil seo cuideachd a' smaoineachadh air rudeigin coltach ris a dhèanamh? An uairsin bidh a’ chomhairle sìmplidh: is fhiach e ma tha deuchainnean fèin-ghluasadach na phrìomhachas dhut. An ath rud, bruidhnidh sinn mu cheist nas iom-fhillte: mar a chuireas tu seo air dòigh cho ceart ‘s a ghabhas, gus am bi cosgaisean nam pàrtaidhean uile cho ìosal agus gu bheil an toradh as àirde.

Molaidhean airson eagrachadh

Bha an sgoil feumail, ach, mar a dh'aidich Stas, bha cuid de dhuilgheadasan ann, air sgàth sin bha e riatanach òraidean a bharrachd a chuir air dòigh. Agus b’ ann mar oileanach o chionn ghoirid a’ dèanamh coimeas eadar mi-fhìn agus mi-fhìn - a-nis a chuir mi ri chèile na ceumannan a leanas gus, nam bheachd-sa, an dòigh as fheàrr air luchd-dearbhaidh a theagasg gus deuchainnean fèin-ghluasadach a thuigsinn.

Ceum 0. Cruthaich faclair

Gu dearbh, tha feum air a 'cheum seo chan ann a-mhàin airson QA. Ach, tha mi airson a dhèanamh soilleir: feumar an còd fèin-ghluasaid a chumail ann an cruth a ghabhas leughadh. Cànanan prògramadh - chan e as ìsle cànainean, agus às an seo faodaidh tu tòiseachadh air do dhàibheadh.

Air ais don sgoil: mar a thrèanadh tu luchd-dearbhaidh làimhe gus dèiligeadh ri deuchainnean fèin-ghluasadach

Seo dealbh-sgrìn de shealladh gnìomh le ainmean nan eileamaidean. Smaoinich gu bheil thu a’ dèanamh deuchainn air sealladh gnìomh mar bhogsa dubh agus nach fhaca thu a-riamh Selenium nad bheatha. Dè nì an còd seo?

Air ais don sgoil: mar a thrèanadh tu luchd-dearbhaidh làimhe gus dèiligeadh ri deuchainnean fèin-ghluasadach

(Spoiler - tha an obair air a dhubhadh às tro chòrr às leth an rianaire, agus an uairsin chì sinn gu bheil clàr de seo san t-sruth.)

Bheir an ceum seo leis fhèin na cànanan QAA agus QA nas fhaisge air a chèile. Tha e nas fhasa do sgiobaidhean fèin-ghluasaid toraidhean ruith a mhìneachadh; feumaidh luchd-dearbhaidh làimhe nas lugha de oidhirp a chosg air cùisean a chruthachadh: faodar an dèanamh cho mionaideach. Ach, tha a h-uile duine a 'tuigsinn a chèile. Fhuair sinn na buannachdan eadhon mus do thòisich an trèanadh fhèin.

Ceum 1. Dèan abairtean a-rithist

Leanaidh sinn an co-shìnte ri cànan. Nuair a dh’ ionnsaicheas sinn bruidhinn mar chloinn, cha bhith sinn a’ tòiseachadh le briathrachas agus semantics. Bidh sinn ag ath-aithris “mama”, “ceannaich dèideag”, ach cha bhith sinn sa bhad a’ dol a-steach do fhreumhan Proto-Indo-Eòrpach nam faclan sin. Mar sin tha e an seo: chan eil feum air dàibheadh ​​​​a-steach do dhoimhneachd feartan teicnigeach autotests gun a bhith a’ feuchainn ri rudeigin a sgrìobhadh a tha ag obair.
Tha e beagan mì-thuigseach, ach tha e ag obair.

Anns a 'chiad leasan, is fhiach a bhith a' toirt seachad bunait air mar a sgrìobhas tu autotests gu dìreach. Bidh sinn a 'cuideachadh le bhith a' stèidheachadh na h-àrainneachd leasachaidh (na mo chùis, Intellij IDEA), mìnich na riaghailtean cànain as ìsle a tha riatanach gus dòigh eile a sgrìobhadh ann an clas a tha ann mar-thà a 'cleachdadh nan ceumannan a th' ann mar-thà. Bidh sinn a 'sgrìobhadh aon no dhà de dheuchainnean leotha agus a' toirt dhaibh obair-dachaigh, a bhithinn a 'cruth mar seo: meur air falbh bhon mhaighstir, ach chaidh grunn deuchainnean a thoirt air falbh bhuaithe. Chan eil ach na tuairisgeulan aca air fhàgail. Bidh sinn ag iarraidh air luchd-dearbhaidh na deuchainnean sin a thoirt air ais (chan ann tro show diff, gu dearbh).

Mar thoradh air an sin, bidh an neach a dh'èist agus a rinn a h-uile càil comasach air:

  1. ionnsaich a bhith ag obair leis an eadar-aghaidh àrainneachd leasachaidh: cruthachadh mheuran, hotkeys, gealltanas agus pushes;
  2. maighstireachd air bunaitean structar a’ chànain agus na clasaichean: far an cuir thu a-steach in-stealladh agus càite an cuir thu a-steach, carson a tha feum air notaichean, agus dè an seòrsa samhlaidhean a lorgar an sin, a bharrachd air ceumannan;
  3. tuigsinn an diofar eadar gnìomh, feitheamh agus sgrùdadh, càite an cleachd thu dè;
  4. mothaich an eadar-dhealachadh eadar autotests agus sgrùdaidhean làimhe: ann an autotests faodaidh tu inneal-làimhseachaidh aon no fear eile a tharraing an àite gnìomhan a dhèanamh tron ​​​​eadar-aghaidh. Mar eisimpleir, cuir beachd gu dìreach chun backend an àite a bhith a’ fosgladh sealladh gnìomh, a ’taghadh an cuir a-steach, a’ taipeadh teacsa agus a ’briogadh air a’ phutan Send;
  5. cuir ri chèile ceistean a thèid a fhreagairt san ath cheum.

Tha am puing mu dheireadh glè chudromach. Faodar na freagairtean sin a thoirt seachad gu furasta air thoiseach air an àm, ach tha e na phrionnsapal teagaisg cudromach nach eilear a’ cuimhneachadh air freagairtean gun cheistean cruthaichte agus nach eilear gan cleachdadh nuair a bhios feum orra mu dheireadh.

Bhiodh e air leth math nam biodh innleadair fèin-ghluasaid bhon sgioba QA aig an àm seo air obair a thoirt dha le bhith a’ sgrìobhadh deuchainn no dhà sa bhlàr agus a’ leigeil leis a dhol a-steach don mheur aige.

Dè nach eil ri thoirt seachad:

  1. Eòlas nas doimhne air gnìomhachd na h-àrainneachd leasachaidh agus a’ chànan prògramaidh fhèin, rud nach bi a dhìth ach nuair a bhios tu ag obair le meuran air an ceann fhèin. Cha bhith cuimhne air, feumaidh tu a mhìneachadh dà uair no trì, ach tha sinn a’ cur luach air ùine innleadairean fèin-ghluasaid, ceart? Eisimpleirean: fuasgladh còmhstri, cuir faidhlichean ri git, cruthachadh chlasaichean bhon fhìor thoiseach, ag obair le eisimeileachd;
  2. a h-uile càil co-cheangailte ri xpath. Gu dona. Feumaidh tu bruidhinn mu dheidhinn air leth, aon uair agus gu dlùth.

Ceum 2. A 'toirt sùil nas mionaidiche air a' ghràmar

Cuimhnichidh sinn an dealbh-sgrìn Taskview bho cheum # 0. Tha ceum againn ris an canar checkCommentWithTextExists. Tha an neach-deuchainn againn mu thràth a’ tuigsinn dè a bhios an ceum seo a’ dèanamh agus is urrainn dhuinn coimhead taobh a-staigh a’ cheum agus a lobhadh beagan.

Agus a-staigh tha na leanas againn:

onCommentBlock(userName).comment(expectedText).should(displayed());

Far a bheil airCommentBlock

onCommonStreamPanel().commentBlock(userName);

A-nis tha sinn ag ionnsachadh a ràdh nach "ceannaich dèideag," ach "dèideag a cheannach bho stòr Detsky Mir, a tha suidhichte anns a 'chaibineat gorm air an treas sgeilp bhon mhullach." Feumar a mhìneachadh gu bheil sinn a’ comharrachadh eileamaid ann an sreath, bho eileamaidean nas motha (sruth -> bloc le beachdan bho neach sònraichte -> am pàirt sin den bhloc seo far a bheil an teacsa ainmichte na shuidhe).

Chan e, chan eil ùine ann fhathast bruidhinn mu xpath. Dìreach thoir iomradh goirid air gu bheil na stiùiridhean sin uile air am mìneachadh leotha agus tha oighreachd a’ dol troimhe. Ach feumaidh sinn bruidhinn mu na maidsearan agus an luchd-frithealaidh sin; tha iad a’ buntainn gu sònraichte ris a’ cheum seo agus tha iad riatanach gus tuigse fhaighinn air na tha a’ tachairt. Ach na bi cus: faodaidh an oileanach agad tagraidhean nas iom-fhillte a sgrùdadh leis fhèin nas fhaide air adhart. As dualtaiche, bu chòir, feitheamhGus, air a thaisbeanadh ();, ann ();, chan eil (); bu chòir dha a bhith gu leòr.

Tha an obair-dachaigh follaiseach: meur anns a bheil susbaint grunn cheumannan a tha riatanach airson àireamh sònraichte de dheuchainnean air a thoirt air falbh. Leig leis na luchd-dearbhaidh an toirt air ais agus thoir air an ruith a bhith uaine a-rithist.

A bharrachd air an sin, ma tha chan e a-mhàin feartan ùra san obair aig an sgioba deuchainn, ach cuideachd cuid de rèiteachadh bug, faodaidh tu iarraidh air deuchainnean a sgrìobhadh airson na mialan sin sa bhad agus an leigeil ma sgaoil. Nas coltaiche, chaidh na h-eileamaidean uile a mhìneachadh mar-thà; is dòcha nach eil ach ceum no dhà a dhìth. Bidh seo na eacarsaich foirfe.

Ceum 3. Làn bhogadh

Cho coileanta ‘s a ghabhas airson neach-dearbhaidh a tha a’ dol a leantainn air adhart a’ coileanadh a dhleastanasan dìreach. Mu dheireadh, feumaidh sinn bruidhinn mu xpath.

An toiseach, leig dhuinn a dhèanamh soilleir gu bheil iad sin uile airCommentBlock agus beachdan air am mìneachadh leotha.

Air ais don sgoil: mar a thrèanadh tu luchd-dearbhaidh làimhe gus dèiligeadh ri deuchainnean fèin-ghluasadach

Iomlan:

"//div[contains(@class, ‘stream-panel’)]//a[contains(@class,'author') and text()='{{ userName }}’]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}’)]"

Tha òrdugh na sgeòil glè chudromach. An toiseach, bidh sinn a’ gabhail xpath sam bith a th’ ann agus a’ sealltainn mar a tha aon agus aon eileamaid anns an taba eileamaidean. An ath rud, bruidhnidh sinn mun structar: ​​nuair a dh'fheumas tu WebElement a chleachdadh, agus nuair a dh'fheumas tu faidhle air leth a chruthachadh airson eileamaid ùr. Bheir seo cothrom dhut tuigse nas fheàrr fhaighinn air oighreachd.

Feumar a ràdh gu soilleir gur e aon eileamaid an sealladh gnìomh gu lèir, tha eileamaid cloinne ann - an t-sruth gu lèir, anns a bheil eileamaid cloinne - beachd air leth, msaa. Tha eileamaidean pàiste taobh a-staigh eileamaidean pàrant an dà chuid air an duilleag agus ann an structar frèam an autotest.

Aig an ìre seo, bu chòir gum biodh an luchd-èisteachd air tuigse làidir fhaighinn air mar a tha iad air an sealbhachadh agus dè a ghabhas a chuir a-steach às deidh an dot aig airCommentBlock. Aig an ìre seo, bidh sinn a’ mìneachadh a h-uile gnìomhaiche: /, //, ., [] agus mar sin air adhart. Bidh sinn a’ cur eòlas mu chleachdadh a-steach don luchd @class agus rudan eile a tha riatanach.

Air ais don sgoil: mar a thrèanadh tu luchd-dearbhaidh làimhe gus dèiligeadh ri deuchainnean fèin-ghluasadach

Bu chòir dha na h-oileanaich tuigsinn mar a nì iad eadar-theangachadh xpath san dòigh seo. Airson daingneachadh - tha sin ceart, obair-dachaigh. Bidh sinn a 'sguabadh às na tuairisgeulan de na h-eileamaidean, leig leotha obair nan deuchainnean a thoirt air ais.

Carson a tha an t-slighe shònraichte seo?

Cha bu chòir dhuinn cus neach a luchdachadh le eòlas iom-fhillte, ach feumaidh sinn a h-uile dad a mhìneachadh aig an aon àm, agus is e dileab duilich a tha seo. Leigidh an t-slighe seo leinn an toiseach toirt air luchd-èisteachd ceistean fhaighneachd agus gun a bhith a’ tuigsinn rudeigin agus am freagairt an ath mhionaid. Ma tha thu a 'bruidhinn mun ailtireachd gu lèir, an uairsin mus tèid cuspair ceumannan no xpath a sgrùdadh, thèid na pàirtean as cudromaiche dheth a dhìochuimhneachadh mar-thà air sgàth cho neo-chinnteach' sa tha iad.

Ach, is dòcha gum bi e comasach dha cuid agaibh an t-eòlas agad a cho-roinn air mar as urrainnear am pròiseas a mheudachadh eadhon nas motha. Bidh mi toilichte molaidhean coltach ris a leughadh anns na beachdan!

Source: www.habr.com

Cuir beachd ann