????????
????????????Ruby on Rails??????web????????????е????????????????и?????????????????????????????????????????????е???????????????????????????????JavaSript??????е??????????????????????????????????????ζ????????UI?????????е?????????????????????????????UI?????????????????????????
????????????????????story??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????bug?????е?UI??????????????????ж??????????????????????????????????????????????????????????????e?汾?????????bug?????????????release???????????????????????????????????????????
???????
???????????QA?????????????????????????????????????????????????story????????????????????????????????????е?UI???????????????????????????Щ???
????1??UI?????????????????? - UI?????????????ruby?汾??selenium???????????????????????????粻?????????????????????????UI??????????????2?????????????????????????Ч??????????????????t??е?????
????2??????????????????? - ???????????????????????????UI??????????????С???????????????????

??????????嵽???????У???????????????????????????ò??????????UI????????????????????????   ?????????????????????????????????????????????????????????????UI????????????????????????????????С??????????????????????????????????????bug????а???????????????????С?
???????????
??????????????????????????????UI?????????????????????????????????????У?
??????????????
????????webdriver??????????????????????????????????????DOM????????????????????????Щ??????????????????????2?????????????????????У??????????
??????潻??action???
????UI?????????????????????е???ж?????????????action?????????????????????????????????Щ????????н??????????????????o?д??????????????????????????????
???????????
???????????????????????????????
?????????泬???????????????DOM??????????????????????????????к?????????????????????????????????????????selenium???????????????????????????????get?????????????????趨???????????????
????dr.manage.timeouts.page_load = 30
????????30????????????????????????30?????????????????DOM??????????????????????????????????
????begin
????page.open_page
????rescue Selenium::WebDriver::Error::TimeOutError
????puts "ERROR:page load timeout!!"
????end
??????????????????30????????????????????С???????????????Щ?????????????????????????????裬???????????????????????????????????????Щ???????????????н???????????????????????????????????????????μ????????????
????????UI?????????API????????
????????????????????е????????UI??????????????????UI????????????????????????UI???????????????????????????????????????????????API?????????????UI????????????????????????????????????action???????????????????????????????????????????????????????????????????????API???????Щ?????????????????????????????????????UI????????Щ?????????????????????????????????????
?????????????У?????Щ??????API??????????UI?????????з??????????ruby??Faraday???????????????????????JS??SuperTest???????????API?????????????У?飬??Щ?????????UI???????????????????????????????????????????????
????????潻????action????????????????
??????????????·???????????????????????????????????????????????????????в????????????潻?????裬???????????????????????????????????????????????????????????DOM???????У???Щ????????????
???????????????????????????????????selenium webdriver????????????棬?????ruby??Faraday????JS??SuperTest?????"http://www.baidu.com"???URL?????????????????html??????????????????html???????????ruby??Nokogirl????????????????????У?顣???緵??????200??<title>????????“?????£??????”??????????????????????????<img>?е?src????????????????????????????????logo????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????棬???????????????????????WebdriverCSS????PhantomCSS??????????????????????Щ???????????????????潻???????????????????????μ???????????????????棬??Щ??????????webdriver????????
???????
?????????????????????о?????????????????????????????????????????????????????????μ?????????????????????????????????????????????????????????????????????????????Щ???????????
????1.UI?????????????????????????????????????????????UI?????и?????????????????????????????????????????????????????????????????UT/API?????????????????????
????2.UI??????????????н??????????QA?????????????????????е????????????????????????????????????????????UI????????????????????????????????????????????????DOM??????????????????webdriver??????????ɡ?