簡體   English   中英

Watir / Rspec瀏覽器循環

[英]Watir/Rspec Browser Loop

我需要一些使用Watir / Rspec在循環中使用多個瀏覽器的幫助。

  • 我的目標是:
    1. 轉到Google.ca.
    2. 快速搜索一些東西
    3. 關閉瀏覽器。
    4. 使用不同的瀏覽器循環步驟1-3。

我可以使用Watir來使用它,但不知道如何使用Rspec。

Watir(工作代碼):

require 'watir-webdriver'
require 'rspec'

  browsers = [:ff, :chrome]
  browsers.map do |x|
  $browser = Watir::Browser.new x
  $browser.goto('http://www.google.ca')
  $browser.text_field(:id, 'gbqfq').set 'Juventus'
  $browser.send_keys :enter
  $browser.close


end #End loop

Rspec(不工作):

require 'watir-webdriver'
require 'rspec'

  browsers = [:ff, :chrome]
  browsers.map do |x|
  $browser = Watir::Browser.new x
  $browser.goto('http://www.google.ca')

  describe 'loop' do
    it 'does something' do
      $browser.text_field(:id, 'gbqfq').set 'Juventus'
      $browser.send_keys :enter
      $browser.close
    end
  end #End describe
end #End loop

這是上面的代碼:

  • 加載Firefox
  • 去谷歌
  • 加載Chrome
  • 去谷歌
  • 搜索Chrome

似乎當我包含Rspec describe循環不起作用,因為我有意。

終於想通了:)

以下是任何想要進行多次瀏覽器測試的人的代碼,而不為每個瀏覽器制作不同的規范。

require 'watir-webdriver'
require 'rspec'

      browsers = [:ff, :chrome]
      browsers.map do |x|

        describe 'Browser' do

        before(:all) do
          @browser = Watir::Browser.new x
        end

        it 'goes to Google.ca' do
          @browser.goto('http://www.google.ca')
        end

        it 'searches' do
          @browser.text_field(:id, 'gbqfq').when_present(3).set 'Juventus'
          @browser.send_keys :enter
          sleep 0.5 #roughly takes 0.5s for the images to load. 
        end

        it 'closes browser' do
          @browser.close
        end
      end #end describe
    end #end loop

我認為這個正常工作,你需要初始化瀏覽器后describe ,而我被初始化瀏覽器之前之前describe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM