• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • SilkTest入門快打5-深入appstate

    發表于:2011-03-25來源:作者:點擊數: 標簽:
    SilkTest入門快打5-深入appstate 軟件測試 運行完上一講中的testcase ,大家有沒有發現一個問題?是的,testcase 還是有瑕疵,因為計算器在測試運行后,沒有自動關閉。這在運行多個用例的時候可能會導致問題,為了解決這個問題,我們還是得求助于appstate 。

      SilkTest入門快打5-深入appstate   軟件測試

      運行完上一講中的testcase ,大家有沒有發現一個問題?是的,testcase 還是有瑕疵,因為計算器在測試運行后,沒有自動關閉。這在運行多個用例的時候可能會導致問題,為了解決這個問題,我們還是得求助于appstate 。

      Appstate 提供一種機制,在testcase 執行完后,會自動調用系統函數SetBaseState(), 它會將測試用例的狀態設置到其狀態鏈上最基層的那個狀態,在上一講中就是DefaultBaseState 。我們可以重新組織用例CalWithFunction 的結構,讓它的基狀態自動關閉計算器應用,那么當測試用例運行結束時,就會關閉計算器,其重構后的代碼如下:

      [-] testcase CalWithFunction () appstate PrepareCal

      [ ] String sResultValue = Cal1Plus2()

      [ ] Verify(val(sResultValue), 3, "Expect: 3, actually it is {sResultValue}")

      [-] String Cal1Plus2()

      [ ] 計算器.N1.Click ()

      [ ] 計算器.Plus.Click ()

      [ ] 計算器.N2.Click ()

      [ ] 計算器.Equal.Click ()

      [ ] String sResultValue = 計算器.CalResult.GetText()

      [ ] return sResultValue

      [-] appstate PrepareCal() basedon MyBaseState //1

      [ ] 計算器.Invoke()

      [ ] 計算器.C.Click ()

      [-] appstate MyBaseState () //2

      [-] if( 計算器.Exists())

      [ ] 計算器.Close()

      重構后的用例中的應用狀態PrepareCal 的基狀態是MyBaseState ,而MyBaseState 只是檢測計算器應用是否打開,如果是,那么就關閉它。運行一下,你的計算器自動關閉了么?

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>