亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 日韩精品视频美在线精品视频 | 经典三级四虎在线观看 | 久久国产高清一区二区三区 | 永久免费毛片手机版在线看 | 国产初高中生粉嫩无套第一次 | 波多野结衣与公中出中文字幕 | 久久免费小视频 | 人人爱人人射 | 欧美日韩ay在线观看 | 天天插天天插 | 高清性色生活片免费视频软件 | 青青草国产精品视频 | 中文字幕在线视频免费 | 日韩欧美视频一区二区三区 | 中国毛片免费观看 | 色综合五月天 | 欧美一级欧美三级在线 | 亚洲综合精品一二三区在线 | 在线a人片免费观看国产 | 久久996re热这里有精品 | 欧美在线中文字幕高清的 | 国产欧美日本亚洲精品一4区 | 18以下勿进色禁网站 | 青青草原手机在线视频 | 2019亚洲日韩新视频 | 日韩欧美在线观看视频 | 日韩欧一级毛片在线播无遮挡 | 波多野结衣中文字幕在线视频 | 国产色视频网站 | 中文字幕日韩精品麻豆系列 | 国产天堂亚洲精品 | 黄色短视屏 | 老湿影院免费观看 | 亚洲黄色小视频 | 久久综合九色综合97婷婷女人 | 日韩黄色免费 | 亚洲国产精品v在线播放 | 91成人免费观看网站 | 九九99九九精彩 | 国产福利影院在线观看 | 欧美日韩成人在线视频 |