您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試解決方案 >
UI自動化測試解決方案WAT介紹
作者:網絡轉載 發(fā)布時間:[ 2013/12/5 14:52:46 ] 推薦標簽:

WAT的使用方法:

1.當創(chuàng)建完project "Demo"后,在testcase文件夾下會創(chuàng)建一個Demo的文件夾,Demo文件夾下會出現如下的文件:conf.yaml,Demo.rb,Demo.yaml,ExpectedData.yaml,TestData.yaml

2.conf.yaml的作用

    conf.yaml創(chuàng)建時為空,
    conf.yaml文件是對config/conf.yaml文件的擴展,在conf.yaml里可以自定義配置選項,如果conf.yaml與config/conf.yaml的配置項相同,config/conf.yaml里的配置項則會被conf.yaml里的配置項覆蓋。
    在測試方法里,即Demo.rb文件里的測試方法里,調用conf.yaml與config/conf.yaml里的配置項的方法為:ConfigData("配置項名稱")。

3.Demo.yaml的作用

    Demo.yaml是存放頁面元素對象的文件。
    Demo.yaml文件在初始時不為空,顯示了存放頁面元素對象的兩種方式。
    第一種方式中,type是必填項.parent結點,如果有parent,則需加上,如沒有,則不加、。比如@ie.div(:class,"test").div(:index,1),示例為:
    test1:
      type: div
      class: test
    test2:
      type: div
      index: 1
      parent: test1
    test1沒有parent,所以不必要加上該結點,test2有parent "test1",所以需要加上parent,value為test1。
    第二種方式中,寫法為:
    test2: div(:class,"test").div(:index,1)
    我們在項目中,其實第二種方式用的比較多。
    第三種方式,在Demo.yaml文件中沒有演示出來,用法是:(第三種方式配合第二種方式,這樣效果會更好)
    test1: div(:class,"test")
    test2: %test1%.div(:index,1)
    在測試方法里,即Demo.rb文件里的測試方法里,調用Demo.yaml的頁面元素對象的方法為:AutoTest("test1"),AutoTest("test2").

4.TestData.yaml的作用

    TestData.yaml是存放測試數據的文件,格式一定要嚴格按照文件中已定義好的格式
    由于該框架是數據驅動的模式,數據驅動的概念是指腳本或測試方法根據配置的數據的條數來循環(huán)運行,所以除common結點外,其它的結點是腳本中測試方法的名稱,比如在Demo.rb文件中有個test_Demo方法,所以在TestData.yaml的配置:
    - test_Demo:
        description: test for 123
        inputValue: 123
    - test_Demo:
        description: test for 234
        inputValue: 234
    則test_Demo方法會運行兩次,在腳本中用inputValue的值時,第一次是123,第二次為234.
    如果在TestData.yaml里的結點與Demo.rb文件中的測試方法名不一致,則會沒有測試方法被運行。
    TestData.yaml中的common結點,是配置的測試方法中的數據的公共結點,common結點里的數據,在配置的測試方法中都可以被使用,如果測試方法中與common中存在相同的數據,則common結點中的數據會被覆蓋。比如:test_Demo中的description的value值會覆蓋common中的description的value值。TestData.yaml文件中必須存在三個數據結點:private,smoking,description。否則會報錯。
    private,smoking是兩種運行模式,在config/conf.yaml中RunTimeModule的值如果為private,則會運行private的值為y的測試方法,比如:
    - test_Demo:
        private: y
        description: test for 123
        inputValue: 123
    - test_Demo:
        private: n
        description: test for 123
        inputValue: 123
    則test_Demo只會private被標記為y的一次,標記為n的則不會被運行
    description的數據則會被顯示在報告中。
    在testcase文件夾下面有個GlobalData.yaml,也是存放測試數據的,里面的數據會被用到所有的project中,里面的數據如果與project中TestData.yaml的測試數據一樣時,則會被project中TestData.yaml的測試數據覆蓋。比如在一個系統(tǒng)中,可能都會有用戶名與密碼,則放在GlobalData.yaml中即可,存放數據的格式為:
    loginname: test1
    password: test
    總結:如果GlobalData.yaml存在loginname: test1,在ExpectedData.yaml的common結點下存在loginname: test2,在test_Demo下存在loginname: test3,則在腳本中調用loginname時,值為test3.
    測試數據在test_Demo中的調用方式為:TestData("loginname")

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd