亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
使用Selenium測試時必需知道的7件事
作者:網絡轉載 發布時間:[ 2015/11/20 14:16:48 ] 推薦標簽:單元測試工具 Selenium

  行為的重試
  在WebDriver測試過程中,糟糕的問題在于誤判的錯誤,這為自動化構建過程帶來了很大的困難。對于Yarn的團隊來說,這個問題也是他們所面對的頭號大敵。為了克服這一點,他們為測試加入了重試的功能,使得測試結果得到很大的改善。 以下是這個重試方法的代碼:
/**
* Try and take an action until it returns a value or we timeout
* @param maxWaitMillis the maximum amount of time to keep trying for in milliseconds
* @param pollIntervalMillis the amount of time to wait between retries in milliseconds
* @param callback a function that gets a value
* @tparam A the type of the callback
* @return whatever the callback returns, or throws an exception
*/
@annotation.tailrec
private def retry[A](maxWaitMillis: Long, pollIntervalMillis: Long)(callback: => A): A = {
val start = System.currentTimeMillis
Try {
callback
} match {
case Success(value) => value
case Failure(thrown) => {
val timeForTest = System.currentTimeMillis - start
val maxTimeToSleep = Math.min(maxWaitMillis - pollIntervalMillis, pollIntervalMillis)
val timeLeftToSleep = maxTimeToSleep - timeForTest
if (maxTimeToSleep <= 0) {        throw thrown      }      else {        if (timeLeftToSleep > 0) {
Thread.sleep(timeLeftToSleep)
}
retry(maxWaitMillis - pollIntervalMillis, pollIntervalMillis)(callback)
}
}
}
}
  這段代碼的功能是通過一個簡單的遞歸算法執行所傳入的實際行為,直到該行為成功,或是運行超時為止。以下是使用這個方法的簡單示例:
  def numberOfChildren(implicit user: LucidUser): Int = {
  getWithRetry() {
  user.driver.getCssElement(visibleCss).children.size
  }
  }
  測試集重試
  Yarn的團隊所做的后一項改善是配置測試集的重試,測試集重試會將失敗的測試緩存起來,然后重新運行這些失敗的測試。只要在后續的重試中有一次成功,這項測試會被認為通過。否則將繼續重試,直到重試次數達到上限為止。 Yarn的做法是盡量將一些依賴于第三方功能的行為區分開來,特意為這些功能的集成編寫非常健壯的代碼似乎沒有什么意義,因此可以將它們放到一個可重試的測試集中。對于他們來說,重試的目的不是為了修復測試代碼中的問題,而是為了消除測試報告中由誤判所帶來的影響。
  創造樂趣
  Selenium的開發很容易令人感到疲憊,許多測試會無故地失敗,讓這些測試得到正確的結果是非常繁瑣的工作,重復性的樣板代碼令人提不起興致。而在Yarn的團隊建立了一個可靠的、可維護以及可伸縮的框架之后,工作變得有趣起來了。各種有趣的想法層出不窮,有一位開發者實現了對繪畫canvas截圖并上傳至Amazon S3服務的功能,隨后又加入了一個截圖比較的工具以實現圖片比較測試。其它令人印象深刻的測試還包括與Google Drive、Yahoo與Google的單點登錄等功能的整合。整個測試工作開始變得生動起來,這也為團隊終實現了重構的目標帶來了極大的推動力。

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 不卡视频国产 | 中国黄色网址 | 精品久久久久香蕉网 | 久操视频免费 | 亚洲欧美四级在线播放 | 亚洲麻豆国产精品 | 五月天免费在线视频 | mm在线精品视频 | 欧美性猛交xx免费看 | 日日夜夜精品视频 | 99在线视频观看 | 黄网视频在线观看 | 欧美色图欧美色图 | 99热在线免费观看 | 福利800av视频导航 | 中文字幕视频免费在线观看 | 欧美高清精品 | 三级国产精品一区二区 | 欧美日韩亚洲综合 | 日本免费高清视频二区 | 日韩欧美一区二区三区视频 | 26uuu另类欧美亚洲日本 | 一区二区三区无码高清视频 | 中国又粗又大又爽的毛片 | 美日韩精品 | 72式性无遮挡免费视频观看 | 国产爆操 | a亚洲欧美中文日韩在线v日本 | 欧美日韩一级二级三级 | 日本看片网址 | 好爽好黄的视频 | 日本α级片 | 日韩字幕 | 日韩精品福利在线 | 国产成人8x视频一区二区 | 欧美日韩一区二区综合 | 久久人人爽人人爽人人片va | 人成在线免费视频 | 男女毛片视频 | 久久天天躁狠狠躁夜夜免费观看 | 精品视频一区二区三区 |