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

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

  • <strong id="5koa6"></strong>
  • 一個UI自動化的小例子

    發表于:2011-11-16來源:未知作者:領測軟件測試網采編點擊數: 標簽:自動化測試
    隨便用一個小例子來解釋一下UI自動化的開發吧. 我先現在有一個Button是disable的狀態,一旦Button enable,我們就Click彈出一個窗口. 我們使用的測試工具就有同步的功能. 1.自動化工具生成的程序(發現和操作控件,不能真正運行)

      隨便用一個小例子來解釋一下UI自動化開發吧.

      我先現在有一個Button是disable的狀態,一旦Button enable,我們就Click彈出一個窗口.

      我們使用的測試工具就有同步的功能.

      1.自動化工具生成的程序(發現和操作控件,不能真正運行)

      button=FindButton();

      ClickButton(button);

      2.傻瓜的自動化程序(通過加入sleep變成可以運行的程序)

      button=FindButton();

      Sleep(10);

      ClickButton(button);

      Sleep(10);

      window=FindWindow();

      3.簡單的自動化程序(加入同步,使得更可靠和有效率)

      button=FindButton();

      WaitButtonEnable(button);

      ClickButton(button);

      window=WaitWindowOpen();

      4.完整的自動化程序(保證100%可靠,沒有測試程序bug,簡單寫了一下,沒有包含exception的控制,時間急,可能也會有錯誤,不過就是這個意思)

      Button button=null;

      for(int i=0;button==null&&i<3;i++) //如果FindButton不穩定,調用三次in case

      {

      button=FindButton();

      if(button==null)

      {

      Log.Error("Tryout{0}:Can not find button",i); //測試工具不穩定

      }

      else

      {

      break;

      }

      }

      if(button==null)

      {

      Log.Error("Cannot find button. Quit"); //測試工具找不到button,或者產品問題

      Log.Screen();//截圖,只是為了示例,以后不再單獨寫

      return;

      }

      if(!WaitButtonEnable(button))

      {

      if(button.Enabled==true) //測試工具問題,沒有得到enable的消息

      {

      Log.Error("enabled, but tool didn't detect");

      }

      else//測試工具問題,不能成功檢測button的狀態,或者產品問題沒有enable

      {

      Log.Error("don't enable");

      return;

      }

      Window window=null;

      for(i=0;window==null&i<3;i++)//ClickButton不穩定,或者沒有得到open event,或者產品問題

      {

      ClickButton(button);

      window=WaitWindowOpen();

      if(window==null)//沒有click或者沒有得到消息,或者產品問題

      {

      int count=0;

      findwindow://FindWindow不穩定,重試3次

      window=FindWindow();

      if(window!=null) //沒有得到消息,但是窗口彈出

      {

      Log.Error("didn't get event");

      break;

      }

      else //沒有click,或者產品問題, 或者FindWindow不穩定

      {

      Log.Error("Tryout{0}:didn't get window",i);

      count++;

      if(count>3)

      {

      }

      else //FindWindow不穩定,workaround

      {

      Log.Error("goto{0}",count);

      goto findwindow;

      }

      }

      }

      else //成功

      {

      break;

      }

      }

      if(window==null)

      {

      Log.Error("didn't get window, maybe tool or product problem.");

      return;

      }

    原文轉自: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>