日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于Ruby的watir-webdriver自动化测试方案与实施(四)

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Ruby的watir-webdriver自动化测试方案与实施(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接著基于Ruby的watir-webdriver自動化測試方案與實施(三) http://www.cnblogs.com/Javame/p/4159468.html 繼續 ... ... 首先回憶下我們的系統架構,然后談談具體的實現。

該自動化測試框架分三個模塊:Test用例、Control控制層、Tools工具類、model總控。

Test用例

  • 基于ruby的watir-webdriver開發
  • 統一預置參數輸入規則,提供規則模板,做到一個用例一個類,一個方法一個輸出。(一個類可以多個方法)
  • 統一輸出規則,比如:①[info]②TiStone ③Login successful!④001011
  •     ①?? [Info]:代表該用例執行成功![error]代表失敗![warn]代表警告!

        ②?? TiStone:代表執行用例名稱

        ③?? Login successful!:描述或捕獲的value值,以“!”結尾

        ④?? 001011:返回碼

      4.統一用例名稱,應與輸出②保持一致

    Control控制層

  • 一個用例對應一個Control
  • 效驗輸出,判斷用例執行成敗,根據規則關聯Linux服務器捕獲相關日志、配置文件等分析失敗原因,縮減定位區域范圍。
  • 對比數據,關聯MySql查詢數據,對比web捕獲value值。
  • Tools工具類

  • 封裝工具類
  • 關聯Linux與MySql
  • 提供測試用例支持,降低用例開發難度
  • Index總控

  • 控制用例執行與展示
  • 方案設計

    Test用例

    涉及依賴:

    require 'watir-webdriver' require 'watir-webdriver-performance'

    頁面加載性能監控

    1.times do b.goto("https://192.168.10.1/web")load_secs = b.performance.summary[:response_time]/1000puts "Load Time: #{load_secs} seconds."End

    ?

    功能成敗判別

    if b.text.include? 'T_100M'#捕獲web屬性value值#后續操作puts "①[info]②TiStone ③Login successful!000000"else#后續操作#輸出錯誤碼puts "①[error]②TiStone ③Login failed!001011"end

    ?

    參數化提取

    class BasicNumberdef initialize(number,name)@number = number@name = nameenddef add(x)@number + xend end

    Control控制層

    涉及依賴:

    load 'Linux.rb' load 'MySql.rb'

    ?

    具體實現與Tools通信,做一個信息傳輸的樞紐。

    Tools工具類

    涉及依賴:

    require 'net/ssh' require 'scp/ssh' require "test/unit"

    ?

    關聯Linux

    #ip/用戶名/密碼host = "192.168.48.233"username = "root"password = "root"#調用linux命令server_cmd1 = 'tail -1000 /home/log/web.log | grep ERROR'server_shell= 'sh /home/wyong/w.sh'

    ?

    關聯MySql

    具體實現略…

    ?

    單元測試

    class TC_MyTest < Test::Unit::TestCasedef test_addn=BasicNumber.new(10)assert_equal(134,n.add(4),"This test about add is failure!") endend

    model總控

    涉及依賴:

    load Control_用例名稱.rb'

    ?

    統一調用

    t = Control_用例名稱.newtest_methods = t.public_methods.grep(/^test_/)test_methods.each do |test|t.send(test) end

    ?

    轉載于:https://www.cnblogs.com/Javame/p/4164570.html

    總結

    以上是生活随笔為你收集整理的基于Ruby的watir-webdriver自动化测试方案与实施(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。