自動化測試腳本設計和錄製html
統一預置參數輸入規則,提供規則模板,作到一個用例一個類,一個方法一個輸出。(一個類能夠多個方法)前端
require 'watir-webdriver' include Watir require 'test/unit' class TC_recorded < Test::Unit::TestCase def test_recorded @@b = Watir::Browser.new @@b.goto('http://www.hao123.com/') @@b.text_field(:name, 'word').set('ruby') @@b.text_field(:name, 'word').set('ruby') @@b.button(:value, '百度一下').click end end
自動化測試的具體實現linux
class Linux < Mysql def initialize ( host ) @@host = host @@username = "root" @@password = "rootmengmeng「 def L.gethost return @@host end def L.getusername return @@username end def L.getpassword return @@password end def acl(ip) @name = ip a = "#{@name}" server_cmd1 = "{ echo ' acl -L'; sleep 2; echo -e '\n'; } | telnet 0 1234 | grep #{a}" ssh = Net::SSH.start(L.gethost, L.getusername, :password => L.getpassword) do |ssh| result = ssh.exec!(server_cmd1) @result=result ….. .…. end attr_writer :host
軟件自動化測試成本投入和風險分析web
軟件自動化測試的成本投入sql
(這就是咱們爲何要引入架構的關係!)ruby
咱們的架構的好處就是業務與邏輯分開,就是頁面出現了更新或修改只需從新錄製或編寫新的用例便可,不會影響業務結果。 架構
自動化測試的腳本的維護ssh
JAVA前端(負責數據的預置、與執行的發起)工具
Ruby底層(負責業務的實現、與操做的執行)測試
JAVA前端全部配置參數都是動態獲取,後期業務變動無需修改
Ruby底層
Test用例層與Control控制層隨着需求的迭代,須要長期的進行維護
Tools工具層只會根據業務上有很大的變更而更改
othe無需更改
軟件自動化測試的風險分析