á¨á ááľáą ᨠQA á áááŤážá˝ á áŤáą á¨á ááśááľáľ áá°ááá˝ áá áĽáá´áľ ááľáŤáľ áĽáá°áá˝á ááá áááááᢠááá áŠáŁááŤáá˝ á áľáŤ á°ááľ ááľáĽ á¨áĽá ááŤáŞáá˝á áĽáá˛á áŤá ááááśá˝á ááááľ á áá˝áá. áŤáá áá°áŤá°áá˝ á ááśáá˝á áľáá ááľ á¤áľ áŤá áĽá ááĽááá˝ áá áá ááááľ á°áááá§áᢠá áá áľáá ááľ á¤áľ áĽáá° QA á°á᪠á áľááá á°áłáľááŤááá˘
á¨á´ááá¨á áá áĽáá´áľ ááľáŤáľ áĽáá°áá˝á á°ááŹáŤáá áĽá á áá ááá á áááľ á¨áá áĽááłáł áłááá á áááá°á ááĽá á¨á°áá°á á ááśáá°áŽá˝á áĽá°ááááᢠáĽáᣠá á፠áááłá˝á áĽá á áá áá°áá°á፠áá¤áśá˝ áá á áááľá¨áľáŁ á áŁá á°áľáá á¨áááá á ááśáá˝á áľáá
ááľ á¤áľ áŤáą ááá ááááŁáľ áĽáááŤááá˘
áľáá ááľ á¤áľ á áá°áŤááľ á¨ááľ Wrike áááľ
á¨á ááśáá˝á áľáá ááľ á¤áľ ááááľ ááá˝ áá á˛áá áľáá áą á¨á ááśáá˝á á´áááŤá á᪠á ááá á áľáłáľ áłáŞáśá áĽá áá°áᢠááá á°ááłá˝ááľ ááá áĽáá°ááĄáŁ áá¤áľ á áľáááá á áĽáá°áá áĽá áŁá áá áá á°á¸á˝á°á áĽáá°áá á¨áą á áá áá áááá˝ áá˝áá? áááá áĽááľá ááĄ-
- áĽ.á¤.á . á 2016 áá ááśáá°áŽá˝ á á˛áľ áááá áťáá áĽá áá°ááá˝á áááá ááá áĽáá˛áá á áľáááá-á¨á°áááą á°á¨ááá˝ áłáŠ ᣠá áááአá¨á áá ááá¨áłáľ á¨ááťá ááᢠá ááľ ááłáĽ á ááŁá-á á˛áľ áá°ááá˝á áááá á¨áááááľá áá ááłá°á á ááĽá, áĽá ááá¨áłáľ ááá áááľá¨á, á°á¨áłáłá áľáá ááśá˝á áá áá. á á፠á¨áááśá˝á áĽá áľ á ááĽá°áá, áĽáŤááłááą á¨áá°ááľ ááá áŤá á ááąá ááŤáłá¸á ááľá°á á áĽáą áá áŞáááľ á ááá.
- á°ááŞááš áá á˝ááŽá˝ á ááĽáá¸áá?
- á ááááľ, á áĽáááĽ, á ááá´áá¸á. áľááá°áááťá˝á á áááá áĽá áĽáŤááá˝ áá áŠá˘ á á áľá°áŤá¨áľ ááľáĽ, á áá áááľ áá áĽá á°á˝áá áĽá á¨á áá á áááá áááĽáŤáŤáľ á°á¨á᪠áľáá ááśá˝á ááŤá áá á¨áĽá.
- áľáá ááľ á¤áą áĽáŠ áá¤áľ á áľáááˇá?
- á á á áĽááá áááľ. ááĽáᡠá áá°áááá, áĽá á°áá˝ á á˝áá áá°ááá˝ ááľáĽ á°áłáľááá, áĽá á á ááŤá, á ááľááłá ááľáĽ, ááá á°á á ááśááľáŞáá˝ áá áĽáá°áá, áĽáá´áľ áĽáá°ááťá áĽá áĽáá´áľ áĽáá°áááአá á°áἠáá¨áłáľ áááŠ. á á ááśáá˝á áááá˛áśá˝ áá áŤáá áááľ áĽáá˛á áááˇáᥠááŤáŞáá˝ áĽá ááá˘áá˝ á ááá áááłáá˝ ááľáĽ áĽáŤáłá¸áá áááá áľáááአá áá áá°ááá˝á á áá°áá°á áĽááłáł áááááľ áĽá áá áŤááą áĽáŤááá˝á áĽááá áááᢠá°á á ᣠááááŞáŤá á ááŤáł ááľáŁá áĽá áá˝ á á-á á ááŤá¨áŚá˝ áĽá áľáá ááśá˝ áá áááľ á ááá°áá ᣠááá á ááľáá áááŁáá á ááłááľ á ááśáá˝á áááá˛áśá˝ á áŽááá¨ááľ áá á¨ááá áľ á ááŤá¨áŚá˝á áááľáŤáľ á˝ááá áĽáá˛áá á á˛áľ áá¤áá˝á áááłáá áááá á¨áŞá˛áŽ áĽá á¨ááá áľ á ááŤá¨áŚá˝á á°ááĽáááá˘
á áŤá´ áľáᣠá áááŞáŤááťá˝á ááŤá¨á áŤáá áááááľ á áŁá á áľáá á áá ááá á°á¨á áá áĽáá°ááá áĽá¨ááŤááᢠáááłá ᣠá áá á á°ááŁá á¨áľááš ááłáŽá˝ áĽá á áŤáľ-á°á áááľáŤáľ áá á°á¨á áá áĽááłá áá°áĽ á áŤáľáááááᢠá áá¤áąá, ááá ááááľ áŤáá¸á á áŤááľ áŤáááá¨áĽ áĽáŤá°á áŤááá á¨áá¨áŤ á˝áá áá á áá áĽá¨á°áá¨áŁá¨áĄ áá. á¨áááťááá á¨ááá˝ á¨áá áá á¨ááá˘
á á á ááá á áĄáľáá˝ áĽáŤ áá áŤáá á°á˝áĽá á áĽááá áááľ á áááłá áá. ááááŁáľ áá á á˝áá á¨ááŤáᥠáŁáá°á¨áŚá˝ á°ááłáłá ááá áááľá¨á áĽáŤá°áĄ áááá? á¨á፠ááአááá áááá: á ááśáá˛á áá¨áŤáá˝ ááĽááľá á áľá፠á¨áá°áĄ á¨áá á áá áá. á ááá áá áľá ááľáĽáľáĽ áĽáŤá áĽáááááŤáá-áá á áá á á°áťá áá á á áľááá áĽáá´áľ áá°áŤááľ áĽáá°ááťá, á¨ááá áááá˝ ááŞáá˝ á ááľá°á áĽá áá¤áą á¨áá°á áá.
ááá°áŤááľ á áá áááŽá˝
áľáá ááľ á¤áą á áá áá á, ááá áá, Stas áĽááłááá, á ááłááľ á˝ááŽá˝ áá áŠ, á áá ááááŤáľ á°á¨á᪠áľáá ááśá˝á áááááľ á áľááá áá á. áĽáá áĽáŤá´á-á áľáááá áĽá áĽáŤá´á áĽáŤááťá¸á¨ áĽáá° á¨á áἠáá á°á᪠áá á-á áá áĽá á¨áá¨á°ááľá á°á¨ááá˝ á¨ááááŠáľáŁ á áĽá á áľá°áŤá¨áľáŁ ááłáá˝ á ááśáá˛á áá°ááá˝á áĽáá˛á¨áą áááľá°áá ááá˘
á°á¨á 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 áááŤáľ á ááĽá.
á ááááŞáŤáŁ áĽááá áá onCommentBlock áĽá á áľá°áŤá¨áśá˝ á áĽááą áĽáá°á°áááš ááá˝ áĽááľááá˘
á á
áá:
"//div[contains(@class, âstream-panelâ)]//a[contains(@class,'author') and text()='{{ userName }}â]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}â)]"
á¨áłáŞáŠ á á°á á°á¨á°á á áŁá á áľááá áá. á ááááŞáŤ ᣠáááááá ááŁá xpath ááľá°á á¨ááĽá¨ áááŽá˝ áľá á ááľ áĽá á ááľ á áŤá áĽáá´áľ áĽáá°áŤá áĽááłáŤááᢠá ááá á áľá á áááአáĽáááááŤáá-WebElement á áá áá á˛ááá áĽá áá á˛áľ á áŤá á¨á°áᨠááá ááá á á˛áŤáľááá. áá áááľá á á°áἠáĽáá˛á¨áą áŤáľá˝áááłá.
á ááľ áá á á áŤá ááá á¨á°ááŁá áĽááł áĽáá°áá á ááá áááá˝ á áá áľáŁ á¨ááá á áŤá áááá - á á ááá á á¨áľáŁ á¨ááá á áŤá á¨áŤá - á¨á°áᨠá áľá°áŤá¨áľ ᣠááá°. á¨ááá ááĽá¨ áááŽá˝ á ááš áá áĽá á áŤáľ-áá¨áŤ áááá ááá á ááľáĽ áááąá á ááá á áŤááľ ááľáĽ áá¸áá˘
á áá
áá á°áááŤážá˝ áĽáá´áľ áĽáá°ááááą áĽá á áŽáááľáĽáá áá á¨ááĽáĄ á áá áá ááᣠáĽáá°áá˝á á áľááá áá¨áłáľ áá á¨áŁá¸áᢠá áá
áá áááá áŚááŹá°áŽá˝á áĽááĽáŤáŤáá: /, //, ., [] áĽá á¨ááłá°ááľ. á áááą ááľáĽ áľá á á ááá áĽáááľ áĽáá¨ááŤáá @class
áĽá ááá˝ á áľááá áááŽá˝.
á°ááŞáá˝ xpathá á áá
ááááľ áĽáá´áľ áĽáá°áá°á¨áá áá¨áłáľ á ááŁá¸áᢠááá áá¨á - áá áá, á¨á¤áľ áľáŤ. á¨ááĽáášá ááááŤáá˝ áĽáá°áááá, á¨áá°ááá˝á áľáŤ áá°áá áŠá áľ ááááą.
ááá áá á¨á°áᨠááááľ?
ááľáĽáľáĽ áĽáááľ áŤááá á°á á¨áá á á áá ááŤá á¨ááĽáá, ááá áá áááá ááá á á ááľ áá ááĽáŤáŤáľ á ááĽá, áĽá áá á áľá¸á᪠á áŁáĽáá áá. áá ááááľ á ááááŞáŤ á áľááŽá˝ áĽáŤááá˝á áĽáá˛á áá áĽá á¨áá ááá áĽááłáá¨áą áĽá á áááĽáá áá áĽáá˛áááą áŤáľá˝áá¸ááᢠáľá á á ááá áĽá-áááá á¨á°ááአᣠá¨á፠á¨áĽááááá˝ ááá ᨠxpath áááľ á áá°áá°áá áľ áá á áŁá á áľáááááš ááááš ááá¨áłáľ áŁáááťáá¸á ááľááá áá¨áłáá˘
áááᣠá ááłááśáťá˝á ááááŁáľ áá°áąá áĽáá´áľ áááťá¸áľ áĽáá°ááťá áá áŤáá˝áá áááľ ááŤáá áľá˝ááá˝áᢠá á áľá°áŤá¨áśáš ááľáĽ á°ááłáłá áááŽá˝á á ááá ἠá°áľá°á áá!
ááá: hab.com