????????????????????????????β???????????????????????鼮????????????????????????ò?????????????????“?????plumbing??”?????????????Angular??Rails??Bootstrap??Postgres????????????ι?????Web???????????ó???????????????????????????????о????????????????????γ??????????????????????????????α????Щ?????????????????????????????????????????????????????????????е????á?????????????????д????????????
????????????????????????????ó??????????????????????????????????????????д??????????????????????????д?????????????????????????????????????????????QA???????????????????????????ζ???????ü?????????????????????????????????????????????????????????????????QA??????????????????
?????????д???????????????δ?????????????ó?????????????????????????£??????????????????????????????????????????????????????????????????д????????????????????????????????????????????????????д?????????????д??
??????????????ζ????????????в???????????????漯???????????????????????????????????????????δ?????????
?????????????
???????????????????????????????????????????????????????
?????????????????????????Web??ó????У?????????????????????????????????????????????з?????????????飬???????????????????????С???Щ???????????????????????????????????????????????????????????????
???????????????????????API???????????Щ???????????????????????????????????????????????????????????????????Ч???????????????????????????Щ????????????????????????????????????????????????????????????????????????????????????——????????????????????????С?
????????????????????????????????????????????????????????????????δ???????ó?????????????????????????Щ??????????????????????????????????????????????????
?????????????????
???????????????????????????????????????????????????????????ò??????????????飬????????д??????ū???????????????????????????????????????????????????????ū???????????????????
??????????????£????????????????????????????????????д???????????????????д??Щ????????????????????????廯????????????????????????????淶??
?????????????д?????????湤????HTML??????ο?????????????????????????????????????????????????
????????????????????
?????????????????????
???????????????
???????????????????????????
????????ζ???Χ????????????????????????DOM??????????????Щ?淶????????JavaScript??????????????????????????????????????棬?????????????????????????
???????????????????UI??????????????????????????????????????????????????????????——???????????????????????????????д???????
???????????????????????????????????????????????????????????β????
??????????
???????????????????·??????????????????·????????????·??????????磬????????????????????????????????????????????????????????????????ò?????????????????????????£?????????鶼?????????????????????????????????????
???????????????????????е??????????????????????????????????????????????????????£??????????????????????????????鶼??????????
????????????????????????????????ν??????
??????ν??ж???????

???????????????????????????????????????????????????????????????????????????????????鶼??д???????????????????????????????????????????????????д????????——????????????????????????????????????????е????????????????????е??????????????
???????????????μ????????????????????????????????顣?????????????????е??????????????????????????????????Щ???????????????????????????????????????????????????????
??????????????????????????????????ù?????????????λ?????DOM?????佻??????????????????佻?????????????????????????????????“?????signpost??”??
???????????????DOM???????λ??????????????????????Щ?????η??????á???????????????????????CSS??????λDOM????????????ζ??????????????????????????????????????JavaScript????????CSS???????????????????js-??????????????????????
??????????test-??CSS????????data-test-?????????????????????
<section class="component dark test-checkout-confirmation">
<!-- ... -->
</section>
<!-- ???? -->
<section class="component dark" data-test-checkout-confirmation>
<!-- ... -->
</section>
?????????????????????……??????????????????????????????????????????????????????????????????????——??????????data-test????????????????磬??????????????????????????????????????????????λ?????????????????????????
<article data-test-product="1234">
<!-- a ton of markup -->
<input type="submit" name="Purchase" value="Purchase">
</article>
<article data-test-product="5678">
<!-- a ton of markup -->
<input type="submit" name="Purchase" value="Purchase">
</article>
???????data-test-product??????????????????[data-test-product='1234'] input[type='submit']??????CSS???????λ???1234?????????
????????ζ????????????????????????????????????????????????????飬?????????Щ???????????????????????????????????????????????????????????HTML?ж??Щ???????????á?????????????
????????????и?????????????????????????????仰??????JavaScript?????????????????????