亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Watir
10分鐘學會自動化測試框架--Cucumber + Watir
作者:網絡轉載 發布時間:[ 2014/3/26 13:05:08 ] 推薦標簽:Watir 測試框架 自動化

    測試成功,沒有看到任何Watir的影子。

 

(三)單獨使用Watir

    聽說有非常fashionable的office lady用Watir來完成日常例行并且繁瑣的網頁點擊工作的(當然不是測試),聽說而已,但是Watir的確可以完成諸如此類的網頁模擬操作,接下類我們用Watir來完成google搜索功能,新建watir_google.rb文件并加入以下內容:
復制代碼

1require 'watir-webdriver'
2browser = Watir::Browser.new :chrome
3browser.goto"www.google.com/"
4browser.text_field(:name=> "q").set"ThoughtWorks"
5browser.button(:name=> "btnG").click

復制代碼

  當執行到第2行時,一個瀏覽器窗口會自動打開,之后訪問google主頁(第3行),設置搜索關鍵詞"ThoughtWorks",后點擊搜索按鈕,單獨運行Watir成功,沒有任何Cucumber的影子。

 

(四)用Cucumber+Watir寫自動化測試

    由上文可知,Cucumber只是用接近自然語言的方式來描述業務行為,而Watir則只是對人為操作網頁的模擬。當使用Cucumber+Watir實現自動化測試時,通過正則表達式匹配將Cucumber的行為描述與Watir的網頁操作步驟耦合起來即可。同樣以Google搜索為例,搜索關鍵字后,我們希望獲得搜索結果,先用Cucumber完成搜索行為描述:
復制代碼

1Feature:Googlesearch
2Scenario: search for keyword
3Given I amongoogle home page
4WhenI searchfor'ThoughtWorks'
5ThenI should be able toviewthe search result of 'ThoughtWorks'

復制代碼

   對應的Watir代碼如下:
復制代碼

1require "rubygems"
2require "watir-webdriver"
3require 'rspec'

4Given /^I amongoogle home page$/do
5@browser = Watir::Browser.new :chrome
6@browser.goto("www.google.com")
7end
8
9When/^I searchfor'([^"]*)'$/ do |search_text|
10@browser.text_field(:name => "q").set(search_text)
11@browser.button(:name => "btnK").click
12end
13
14Then /^I should be able to view the search result of '([^"]*)'$/do|result_text|
15@browser.text.should include(result_text)
16end

復制代碼

    運行cucumber,一個新的瀏覽器被打開,顯示結果與(三)中相同。

(五)自動化測試的設計模式:Page對象

   在上面的例子中,我們在所有的step中均直接對@browser對象進行操作,對于這樣簡單的例子并無不妥,但是對于動則幾十個甚至上百個頁面的網站來說便顯得過于混亂,既然要面向對象,我們希望將不同的頁面也用對象來封裝,于是引入Page對象,既可完成對頁面的邏輯封裝,又實現了分層重用。此時位于high-level的Cucumber文件無需變動,我們只需要定義一個Page對象來封裝Google頁面(google-page.rb):
復制代碼

1require "rubygems"
2require "watir-webdriver"
3require "rspec"
4
5class GooglePage
6def initialize
7@browser = Watir::Browser.new :chrome
8@browser.goto("www.google.com")
9end
10
11def search str
12@browser.text_field(:name=> "q").set(str)
13@browser.button(:name=> "btnK").click
14end
15
16def has_text text
17@browser.text.should include(text)
18end
19end

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 香蕉网站视频高清在线观看 | 免费精品精品国产欧美在线 | 大陆黄色网 | 大片免费播放器免费观看 | 欧美成a高清在线观看www | 国产欧美日韩在线 | 欧美成人免费观看国产 | avtt国产| 日本亚洲天堂网 | 97视频国产| 国产九九免费视频网站 | 亚洲国产日韩欧美在线a乱码 | www.日韩三级| 色综合视频在线观看 | 香蕉视频禁18 | 草草视频在线观看最新 | 久久免费特黄毛片 | 欧美日韩一区二区亚洲 | 免费国产黄网站在线观看 | 一级毛片在线免费视频 | 超薄肉色丝袜精品足j福利 超级碰人人 | 影音先锋2020色资源网 | 最近2019中文字幕免费版视频 | 中文字幕亚洲综合久久2 | 欧美高清在线视频一区二区 | 目韩一区二区三区系列片丶 | 日本一区二区成人教育 | 笫一次爽女人免费视频 | 久草新在线观看 | 国内精品久久久久久久aa护士 | 天堂在线最新资源 | 亚洲欧洲日产国码二区首页 | 天天干天天干天天干天天干天天干 | 波多野结衣久久 | 深爱婷婷激情网 | 波多野结衣一区 | 亚洲一区二区黄色 | 国产大片黄在线看免费 | 日日摸处处碰夜夜爽视频 | 亚洲影视在线观看 | 日韩插插插 |