ืืจืืขื ืืชืื ืืืืฉื ืืืงืฉื QA ืจืืฆืื ืืืืื ืืื ืืขืืื ืขื ืืืื ืื ืืืืืืืืื. ืื ืื ืืืืจืืช ืืืืืืช ืืืื ืจืฆืื ืืช ืืืื ืฉื ืืืืงืื ืืื ืืื ืืืืื ืฉืขืืช ืืขืืืื. Wrike ืืืืืง ืืืช ืกืคืจ ืืืืืืืฆืื ืืขืืืืื ืืืืืฉ ืืช ืืจืฆืื ืืื ืขืืืจ ืจืืื. ืืฉืชืชืคืชื ืืืืช ืืกืคืจ ืืื ืืืืืง ืืชืืืื QA.
ืืืืชื ืืื ืืขืืื ืขื ืกืื ืืื ืืืขืช ืชืืื ืืืืคื ืขืฆืืื ืืืกืคืจ ืืกืืื ืฉื ืืืืงืืช ืืืืืืืืืช ืืืขื ืืื ืขืืจื ืืืืืฅ. ืืืืชืืกืก ืขื ืชืืฆืืืช ืื ืืกืืื ืืืฉืืชืฃ ืฉืื ื ืืืืกืงื ืืช ืืืืฉืืืช ืฉืื, ืื ืกื ืืืืืจ ืืช ืขืฆื ืื ืืกืื ืืืืช ืืกืคืจ ืืืืืืืื ืืืืชืจ ืืืืืืืฆืื.
ืื ืืกืืื ืฉื Wrike ืืืจืืื ืืืช ืกืคืจ
ืืฉืืชืืจืจ ืืฆืืจื ืืืืช ืกืคืจ ืืืืืืืฆืื, ืืจืืื ื ื ืคื ืืืื ืกืืก ืืืืืืืื, ืืืืืื ืืืื ื ืฉื ืืืืืืืฆืื. ืื ืืืืื ืืืื ืืืกืืืจ ืืืืข ืื ืืืืขื ืืืืืื ืื, ืืื ืืฉืืื ืชืืฆืืืช ืืืื ืื ืืชืืจืืื ืขื ืืืื ืฉืืืื? ืืืื ื ืืชื ืื ืืช ืจืฉืืช ืืืืืืจ:
โ ื-2016 ืืชืื ื ืืกืืจืช ืืืฉื ืืืืืงืืช ืืืืืืืืืช ืืขืฉืื ื ืืช ืื ืฉืืืื ืงื ืืืชืื ืืืื ืื: ืืืคืืขื ืฉืืืื ืจืืืืื, ืืืื ื ืืคื ืืืจืื ืืืชืจ ืืืื. ืืืขื ื ืืจืขืืื: ืฆืจืื ืืขืจื ืืช ืื ืื ืฉืจืืฆื ืืืชืื ืืืื ืื ืืืฉืื, ืืืื ืืืงื ืขื ืืืื ื ืืฆืจื ื ืกืืจืช ืืจืฆืืืช. ืืืขื ื ืืืื ืขื ืชืืื ืืช ื ืืฉืืื, ืื ืืื ืืืืจืฆืื ืืขืชืืืืื ืืงื ืืืช ืืืืื ืขืืื ืื"ื.
โ ืืืื ืงืฉืืื ืืื ืืชืืืืืื?
- ืืขืืงืจ, ืืืืื, ืืืจืืืืืช. ืืื ืืจืื ืฉืืืืช ืืืื ืืื ื ืืืืื ืื ืฉืื ื. ืืืฉืื ื ืืชื ืืจืื ืขื ื ืืฉื ืื ืืืืื ื ืฆืจืืืื ืืงืืื ืืจืฆืืืช ื ืืกืคืืช ืืื ืืืกืืืจ ืืืชืจ ืคืืจืื.
- ืืื ืืืช ืืกืคืจ ืืฉืชืื?
- ืื ืืืืื. ืืืืืชื, ืืจืื ืื ืฉืื ืืื ืืขืืจืืื ืืืชืืืช ืืืื ืื, ืืืืืืฆืข ืืืืช ืืืืืื ืืืื ืืชืืืื ืืืืื ืืื ืืืชืจ ืื ืื ืืืืงืืช ืืืืืืืืืช, ืืื ืืืชืืื ืืืชื ืืืื ืื ืืืฆืืืช ืืืจื. ืื ืืขืืืก ืขื ืืื ืืกื ืืืืืืฆืื ืืจื: ืื ื ืืงืืืื ืืืื ืคื ืืื ืคืืืช ืืงืฉืืช ืืขืืจื ืื ืืชืื ืืืืงืืช, ืืืืจ ืืืืืืงืื ืืืืคืชืืื ืืืื ืืืชืืืื ืขื ืื ืืขืฆืื ืืืขื ืืื ืืืฆืืื. ืืืื, ืืฉ ืืื ืืชืจืื ืืช ืคื ืืืืื ืืืืืงื: ืฆืืจื ื ื ืืกืืื ืืืฆืืืช ืืืืจืฆืืืช, ืฉืืืืืชื ืืื ืืื ืืกื ืืืืืืฆืื ืืืจ ืืกืคืืงื ืืขืฉืืช ืืฆืืืช ืืื ืกืื, ืืื ืงืืืื ื ืกื ืขืืฆืืชื ืฉื ืกืจืืื ืื ืืืฆืืืช ืืขืืืื ืืืฉืื.
ืืฉืื, ืืืกืืฃ ืฉืืชืงืฉืืจืช ืืื ืืืืืงืืช ืฉืื ื ืคืฉืื ืืจืื ืคืฉืืื ืขื ืืื ืืืืื. ืืืืืื, ืขืืฉืื ืื ื ืืืขื ืื ืฆืจืื ืืืฉืื ืขื ืืืื ืืงืจืื ืืืืืื ืจืืช ืืืืืืืช ืืืฆืข ืืืืืืฆืื. ืืชืืฆืื ืืื, ืื ืืืชืขื ืืื ืื ืืืืืื ืืืืืื ืืกืืงืืจ ืืืืื ืฉืืืื ืืืื ืื ืืืื. ืืฃ ืืื ืื ืืืจืฉ ืืืืจืื ืืช ืืืืชื ืืคืฉืจื.
ืืืืคื ืืืื, ืืืฉืคืขื ืขื ืขืืืืช ืืฆืืืชืื ืืื ืืืืื ืืืืืืช. ืืืื ืื ืขืืืชืื ืฉืงืืจืืื ืืช ืืืืืจ ืืื ืืืฉืืื ืืขืฉืืช ืืฉืื ืืืื? ืื ืืขืฆื ืชืืื ืคืฉืืื: ืื ืฉืืื ืืช ืื ืื ืืืืงืืช ืืืืืืืืืช ืื ืืจืืฉ ืกืืจ ืืขืืืคืืืืช ืขืืืจื. ืืืืจ ืืื, ื ืืืจ ืขื ืฉืืื ืืืจืืืช ืืืชืจ: ืืื ืืืจืื ืืช ืื ืื ืืฆืืจื ื ืืื ื ืืื ืืืคืฉืจ, ืื ืฉืืขืืืืืช ืฉื ืื ืืฆืืืื ืืืื ืืื ืืืืืืช ืืืชืคืืงื ืืงืกืืืืืช.
ืืืคืื ืืืจืืื
ืืืช ืืกืคืจ ืืื ืฉืืืืฉื, ืืื ืืคื ืฉืกืืก ืืืื, ืืื ืืื ืงืฉืืื, ืฉืืืืื ืืื ืฆืืจื ืืืจืื ืืจืฆืืืช ื ืืกืคืืช. ืืืชืืืื ืืืืจืื ื ืืืฉืืื ืืช ืขืฆืื-ืืืืกืจ ืืืืขื ืืขืฆืื-ืขืืฉืื, ืืืืฉืชื ืืช ืืฉืืืื ืืืืื ืืื ืืืฆืืจ, ืืืขืชื, ืืช ืืืจื ืืืืืืืืืช ืืืื ืืืืงืื ืืืืื ืืืื ืื ืืืืืืืืื.
ืฉืื 0. ืฆืืจ ืืืืื
ืืืืื, ืฉืื ืื ื ืืืฅ ืื ืจืง ืขืืืจ QA. ืขื ืืืช, ืื ื ืจืืฆื ืืืืืืจ ืืช ืื: ืืกืืก ืืงืื ืืืืืืืฆืื ืืืื ืืืืฉืืจ ืืฆืืจื ืงืจืืื. ืฉืคืืช ืชืื ืืช - ืื ืคืืืช ืฉืคืืช, ืืืืื ืืชื ืืืื ืืืชืืื ืืช ืืฆืืืื ืฉืื.
ืื ื ืฆืืืื ืืกื ืฉื ืชืฆืืืช ืืฉืืื ืขื ืฉืืืช ืืืืื ืืื. ืืืื ื ืืืืื ืฉืืชื ืืืืงืื ืชืฆืืืช ืืฉืืื ืืงืืคืกื ืฉืืืจื ืืืขืืื ืื ืจืืืชื ืกืื ืืื ืืืืืื. ืื ืืงืื ืืื ืขืืฉื?
(ืกืคืืืืืจ - ืืืฉืืื ื ืืืงืช ืืจื rest ืืืขื ืืืืืื, ืืื ืื ืื ื ืจืืืื ืฉืืฉ ืชืืขืื ืฉื ืื ืืืจื.)
ืฆืขื ืื ืืืื ืืงืจื ืืช ืฉืคืืช ื-QAA ืื-QA ืื ืืื. ืืฆืืืชื ืืืืืืฆืื ืงื ืืืชืจ ืืืกืืืจ ืืช ืชืืฆืืืช ืืจืืฆื; ืืืืงืื ืืื ืืื ืฆืจืืืื ืืืฉืงืืข ืคืืืช ืืืืฅ ืืืฆืืจืช ืืงืจืื: ื ืืชื ืืืคืื ืืืชื ืืคืืืช ืืคืืจืืื. ืืืื ืืืช, ืืืื ืืืื ืื ืืื ืืช ืืฉื ื. ืืช ืืืืืื ืงืืืื ื ืขืื ืืคื ื ืชืืืืช ืืืืืื ืืคืืขื.
ืฉืื 1. ืืืืจ ืขื ืืืืืืื
ื ืืฉืื ืืช ืืืงืืื ืขื ืืฉืคื. ืืฉืื ืื ื ืืืืืื ืืืืจ ืืืืืืชื ื, ืื ืื ื ืื ืืชืืืืื ืืืืืืืืืืื ืืกืื ืืืงื. ืื ื ืืืืจืื ืขื "ืืื", "ืืงื ืืช ืฆืขืฆืืข", ืืื ืื ื ืื ืกืื ืืื ืืฉืืจืฉืื ืืคืจืืื-ืืืื-ืืืจืืคืืื ืฉื ืืืืื ืืื. ืื ืื ืืื: ืืื ืืขื ืืฆืืื ืืขืืืงื ืฉื ืืืืคืืื ืื ืืืื ืืื ืฉื ืืืืงืืช ืืืืืืืืืช ืืืื ืื ืกืืช ืืืชืื ืืฉืื ืฉืขืืื.
ืื ื ืฉืืข ืงืฆืช ืื ืืื ืืืื ืืืืืฆืื, ืืื ืื ืขืืื.
ืืฉืืขืืจ ืืจืืฉืื, ืืืื ืืชืช ืืกืืก ืืืฆื ืืืชืื ืืืืงืืช ืืืืืืืืืช ืืฉืืจืืช. ืื ื ืขืืืจืื ืืืืืืจ ืืช ืกืืืืช ืืคืืชืื (ืืืงืจื ืฉืื, Intellij IDEA), ืืกืืืจืื ืืช ืืืื ืืฉืคื ืืืื ืืืืืื ืืืจืืฉืื ืืืชืืืช ืฉืืื ืืืจืช ืืืืืงื ืงืืืืช ืืืืฆืขืืช ืืฉืืืื ืืงืืืืื. ืื ืื ื ืืืชืืื ืืืชื ืืืื ืืื ืื ืฉื ืืื ืื ืืชื ืื ืืื ืฉืืขืืจื ืืืช, ืฉืืืชื ืืืืชื ืคืืจืื ืื: ืขื ืฃ ืืกืชืขืฃ ืืืืืกืืจ, ืืื ืืืกืจื ืืื ื ืืื ืืืื ืื. ื ืืชืจื ืจืง ืืชืืืืจืื ืฉืืื. ืื ื ืืืงืฉืื ืืืืืืงืื ืืฉืืืจ ืืช ืืืืืงืืช ืืืื (ืื ืืจื show diff, ืืืืื).
ืืชืืฆืื ืืื, ืื ืฉืืงืฉืื ืืขืฉื ืืื ืืืื:
- ืืืืื ืืขืืื ืขื ืืืฉืง ืกืืืืช ืืคืืชืื: ืืฆืืจืช ืกื ืืคืื, ืืงืฉื ืงืืฆืืจ, ืืชืืืืืื ืืืืืคืืช;
- ืืฉืืื ืืืกืืืืช ืืืื ื ืฉื ืืฉืคื ืืืฉืืขืืจืื: ืืืื ืืืื ืืก ืืจืืงืืช ืืืืื ืืืืื, ืืืืข ืืฉ ืฆืืจื ืืืขืจืืช, ืืืืื ืกืื ืฉื ืกืืืื ื ืืฆืืื ืฉื, ืืืื ืืฉืืืื;
- ืืืืื ืืช ืืืืื ืืื ืคืขืืื, ืืืืืช ืืืืืืง, ืืืื ืืืฉืชืืฉ ืืื;
- ืฉืืื ืื ืืืืื ืืื ืืืืงืืช ืืืืืืืืืช ืืืืืงืืช ืืื ืืืช: ืืืืืงืืช ืืืืืืืืืช ืชืืืื ืืืฉืื ืืืคื ืืื ืื ืืืจ ืืืงืื ืืืฆืข ืคืขืืืืช ืืจื ืืืืฉืง. ืืืืืื, ืฉืื ืืขืจื ืืฉืืจืืช ืืืืง ืืืืืจื ืืืงืื ืืคืชืื ืชืฆืืืช ืืฉืืืืช, ืืืืจืช ืืงืื, ืืงืืืช ืืงืกื ืืืืืฆื ืขื ืืคืชืืจ ืืฉืืืื;
- ืื ืกื ืฉืืืืช ืฉืืืขื ื ืืฉืื ืืื.
ืื ืงืืื ืืืืจืื ื ืืฉืืื ืืืื. ืชืฉืืืืช ืืื ืืืืืืช ืืืื ืชื ืืงืืืช ืืืขืื ืืืขื, ืื ืืื ืขืืงืจืื ืืืจืื ืืฉืื ืฉืชืฉืืืืช ืืื ืฉืืืืช ืื ืืกืืืช ืืื ื ื ืืืจืืช ืืืื ื ืืฉืืฉืืช ืืขืช ืืฆืืจื.
ืื ืืืื ืืืืืืื ืื ืืฉืื ืื ืืื ืืก ืืืืืืฆืื ืืฆืืืช QA ืืืื ืขืืื ืืฉืืื ืืืชืืืช ืืื ืืืื ืื ืืงืจื ืืืืคืฉืจ ืื ืืืชืืืื ืืกื ืืฃ ืฉืื.
ืื ืื ืืชืช:
- ืืืืจืืช ืืขืืืงื ืืืชืจ ืขื ืืคืื ืงืฆืืื ืืืืช ืฉื ืกืืืืช ืืคืืชืื ืืฉืคืช ืืชืื ืืช ืขืฆืื, ืืฉืจ ืืืื ืฆืืจื ืจืง ืืขืืืื ืขื ืกื ืืคืื ืืืืคื ืขืฆืืื. ืื ืื ืืืืืจ, ืชืฆืืจื ืืืกืืืจ ืืช ืื ืคืขืืืื ืื ืฉืืืฉ, ืืื ืื ืื ื ืืขืจืืืื ืืช ืืืื ืฉื ืืื ืืกื ืืืืืืฆืื, ื ืืื? ืืืืืืืช: ืคืชืจืื ืงืื ืคืืืงืืื, ืืืกืคืช ืงืืฆืื ื-git, ืืฆืืจืช ืืืืงืืช ืืืคืก, ืขืืืื ืขื ืชืืืช;
- ืื ืื ืฉืงืฉืืจ ื-xpath. ืืจืฆืื ืืช. ืฆืจืื ืืืืจ ืขื ืื ืื ืคืจื, ืคืขื ืืืช ืืืืื ืืจืืื.
ืฉืื 2. ืืื ืืงืจืื ืขื ืืืงืืืง
ืืืื ื ืืืืจ ืืช ืฆืืืื ืืืกื ืฉื ืชืฆืืืช ืืืฉืืืืช ืืฉืื #0. ืืฉ ืื ื ืฉืื ืฉื ืงืจื checkCommentWithTextExists. ืืืืื ืฉืื ื ืืืจ ืืืื ืื ืืฆืขื ืืื ืขืืฉื ืืื ืื ื ืืืืืื ืืืกืชืื ืืชืื ืืฆืขื ืืืคืจืง ืืืชื ืืขื.
ืืืคื ืื ืืฉ ืื ื ืืช ืืืืจืื ืืืืื:
onCommentBlock(userName).comment(expectedText).should(displayed());
ืืืื ื ืืฆื OnCommentBlock
onCommonStreamPanel().commentBlock(userName);
ืขืืฉืื ืื ืื ื ืืืืืื ืืืืื ืื "ืงื ื ืฆืขืฆืืข", ืืื "ืงื ื ืฆืขืฆืืข ืืื ืืช ืืฆืงื ืืืจ, ืืืืืงืืช ืืืจืื ืืืืื ืืืืฃ ืืฉืืืฉื ืืืืขืื". ืืฉ ืฆืืจื ืืืกืืืจ ืฉืื ื ืืฆืืืขืื ืขื ืืืื ื ืืจืฆืฃ, ืืืืื ืืื ืืืืืื ืืืชืจ (ืืจื -> ืืืืง ืขื ืืขืจืืช ืืืื ืืกืืื -> ืืืชื ืืืง ืฉื ืืืืืง ืืื ืฉืื ืืืฉื ืืืงืกื ืฉืฆืืื).
ืื, ืขืืืื ืื ืืืืข ืืืื ืืืืจ ืขื xpath. ืจืง ืฆืืื ืืงืฆืจื ืฉืื ืืืืจืืืช ืืืื ืืชืืืจืืช ืขื ืืื ืืืืจืืฉื ืขืืืจืช ืืจืื. ืืื ืื ืื ื ืฆืจืืืื ืืืืจ ืขื ืื ืืฉืืื ืื ืืืืืฆืจืื ืืืื, ืื ืืชืืืืกืื ืกืคืฆืืคืืช ืืฆืขื ืืื ืืื ื ืืืฆืื ืืื ืืืืื ืื ืงืืจื. ืืื ืื ืชืขืืืก ืืืชืจ ืืื: ืืชืืืื ืฉืื ืืืื ืืืืื ืงืืืขืืช ืืืจืืืืช ืืืชืจ ืืขืฆืื ืืืืืจ ืืืชืจ. ืกืืืจ ืืื ืื ืฉ- should, waitUntil, displayed();, exist();, not(); ืืืืจ ืืืกืคืืง.
ืฉืืขืืจื ืืืืช ืืจืืจืื: ืขื ืฃ ืื ืืืกืจื ืชืื ืื ืฉื ืืกืคืจ ืฉืืืื ืื ืืืฆืื ืืืกืคืจ ืืกืืื ืฉื ืืืื ืื. ืชื ืืืืืงืื ืืฉืืืจ ืืืชื ืืืืคืื ืืช ืืจืืฆื ืืืืืช ืืจืืงื ืฉืื.
ืื ืืกืฃ, ืื ืืฆืืืช ืืืืืงืืช ืืฉ ืื ืจืง ืชืืื ืืช ืืืฉืืช ืืขืืืืชื, ืืื ืื ืืื ืชืืงืื ื ืืืืื, ืืชื ืืืื ืืืงืฉ ืืื ื ืืืชืื ืืื ืืืืงืืช ืขืืืจ ืืืืื ืืื ืืืฉืืจืจ ืืืชื. ืกืืืจ ืืื ืื ืฉืื ืืืืื ืืื ืืืจ ืชืืืจื; ืจืง ืืื ืฉืืืื ืขืฉืืืื ืืืืืช ืืกืจืื. ืื ืืืื ืืืืืื ืืืืฉืื.
ืฉืื 3. ืืืืื ืืืื
ืฉืื ืืื ืืืคืฉืจ ืขืืืจ ืืืืง ืฉืืืื ืืืืฉืื ืืืฆืข ืืช ืชืคืงืืืื ืืืฉืืจืื. ืืืกืืฃ, ืื ืื ื ืฆืจืืืื ืืืืจ ืขื xpath.
ืจืืฉืืช, ืืื ื ืืืืจ ืฉืื ืืื ื-CommentBlock ืืืชืืืืืช ืืชืืืจืืช ืขื ืืื.
ืกื ืืื:
"//div[contains(@class, โstream-panelโ)]//a[contains(@class,'author') and text()='{{ userName }}โ]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}โ)]"
ืกืืจ ืืกืืคืืจ ืืฉืื ืืืื. ืจืืฉืืช, ืื ื ืืืงืืื ืื xpath ืงืืื ืืืจืืื ืืืฆื ืืฉืื ืืช ืืืืื ืืื ืืืืื ืืืื ื ืืื ืืืืื. ืืืืจ ืืื, ื ืืืจ ืขื ืืืื ื: ืืชื ืืชื ืฆืจืื ืืืฉืชืืฉ ื-WebElement, ืืืชื ืืชื ืฆืจืื ืืืฆืืจ ืงืืืฅ ื ืคืจื ืขืืืจ ืืืื ื ืืืฉ. ืื ืืืคืฉืจ ืื ืืืืื ืืื ืืืชืจ ืืช ืืืจืืฉื.
ืืฉ ืืฆืืื ืืืคืืจืฉ ืฉืืืื ื ืืืื ืืื ืื ื- taskview, ืืื ืืืื ืืืื ื ืืื - ืืืจื ืืืื, ืืืืื ืืืื ื ืืื - ืืขืจื ื ืคืจืืช ืืื'. ืจืืืื ืฆืืฆื ื ืืฆืืื ืืชืื ืจืืืื ืื ืื ืืืฃ ืืื ืืืื ื ืฉื ืืกืืจืช ืืืืืงื ืืืืืืืืืช.
ืืฉืื ืื, ืืงืื ืืื ืฆืจืื ืืืืื ืืืื ืืืฆื ืื ืขืืืจืื ืืืจืืฉื ืืื ื ืืชื ืืืืื ืืืจื ืื ืงืืื ื-onCommentBlock. ืืฉืื ืื, ืื ื ืืกืืืจืื ืืช ืื ืืืืคืจืืืจืื: /, //, ., [] ืืื ืืืื. ืื ื ืืืกืืคืื ืืืข ืขื ืฉืืืืฉ ืืขืืืก @class
ืืขืื ืืืจืื ื ืืืฆืื.
ืขื ืืชืืืืืื ืืืืื ืืืฆื ืืชืจืื ืืช xpath ืืืจื ืื. ืืืืฉ - ื ืืื, ืฉืืขืืจื ืืืช. ืื ื ืืืืงืื ืืช ืชืืืืจื ืืืืื ืืื, ื ืืชื ืื ืืื ืืฉืืืจ ืืช ืขืืืืช ืืืืืงืืช.
ืืื ืืืืงื ืื ืชืื ืืื?
ืื ืื ื ืืืขืืืก ืขื ืืื ืืืข ืืืจืื, ืืื ืขืืื ื ืืืกืืืจ ืืื ืืืช ืืืช, ืืื ืืืืื ืงืฉื. ืืืจื ืืื ืชืืคืฉืจ ืื ื ืงืืื ืื ืืืจืื ืืืืืื ืื ืืฉืืื ืฉืืืืช ืืื ืืืืื ืืฉืื ืืืขื ืืช ืขืืืื ืืืจ ืืจืืข ืืื. ืื ืืชื ืืืืจ ืขื ืืืจืืืืงืืืจื ืืืื, ืื ืขื ืฉืื ืืฉื ืฉื ืฆืขืืื ืื xpath ืื ืืชื, ืืืืงืื ืืืฉืืืื ืืืืชืจ ืื ืืืจ ืืืฉืืื ืืืื ืืืกืจ ืืืื ื ืฉืืื.
ืขื ืืืช, ืืืง ืืื ืื ืจืื ืืืืื ืืืืืง ืืช ืื ืืกืืื ืฉืืื ืืืฆื ื ืืชื ืืืืขื ืืช ืืชืืืื ืืคืืื ืืืชืจ. ืืฉืื ืืงืจืื ืืฆืขืืช ืืืืืช ืืชืืืืืช!
ืืงืืจ: www.habr.com