我使用的是Ruby 1.8.6,Watir 1.6.6和RSpec 1.3.0。当我运行以下脚本时,它“终止”(在EclipsePDT IDE中给出的术语)但没有列出错误。当我从Windows上的c-prompt运行它时,相同,除了没有“终止”。浏览器永远不会打开。有人知道吗?如果我取消描述,它和结束行,它运行正常。
describe 'FaceBook' do
before :all do
@b = Watir::Browser.new
@b = Watir::IE.start('http://www.facebook.com')
end
it 'Default Page links' do
@b.link(:class, 'fbxWelcomeBoxName').text.should == 'Dave McNulla'
@b.link(:href, 'http://www.facebook.com/?ref=home').text.should == 'Home'
@b.link(:href, 'http://www.facebook.com/dave.mcnulla').text.should == 'Profile'
end
it 'Home Page links' do
@b.link(:href, 'http://www.facebook.com/?ref=home').click
@b.link(:href, 'http://www.facebook.com/?ref=home').text.should == 'Home'
@b.link(:href, 'http://www.facebook.com/dave.mcnulla').text.should == 'Profile'
end
it 'Profile Page links' do
@b.link(:text, 'Profile').click
@b.link(:href, 'http://www.facebook.com/?ref=home').text.should == 'Home'
@b.link(:href, 'http://www.facebook.com/dave.mcnulla').text.should == 'Profile'
end
after :all do
@b.close
end
end
答案 0 :(得分:1)
我终于发现RSpec测试脚本在命令行上调用'spec'运行,如:
spec myBrowserTest.rb
我假设我通过调用Ruby来运行它们,就像我在TestUnit文件上所做的那样。
现在我需要弄清楚如何从Eclipse PDT中调用'spec'。感谢每个带来创意的人。我更加欣赏它,因为我首先提出了我的问题。
戴夫
答案 1 :(得分:0)
我看到的一个问题是你打开了两个浏览器。我会替换它:
@b = Watir::Browser.new
@b = Watir::IE.start('http://www.facebook.com')
使用:
@b = Watir::Browser.start('http://www.facebook.com')
答案 2 :(得分:0)
如果将其添加到before :all
块:
require "rubygems"
require "watir"
当我需要rubygems和watir时,您的代码会在我的机器上打开浏览器。
答案 3 :(得分:0)
我添加了一些put语句,以查看哪些部分正在运行以及哪些部分从未到达:
require 'spec'
puts "before strting"
describe 'FaceBook' do
require 'watir'
require 'rubygems'
puts "before all"
before :all do
puts "all"
@b = Watir::Browser.start('http://www.facebook.com')
end
puts "before Default"
it 'Default Page links' do
puts "Default"
@b.link(:class, 'fbxWelcomeBoxName').text.should == 'Dave McNulla'
@b.link(:href, 'http://www.facebook.com/?ref=home').text.should == 'Home'
@b.link(:href, 'http://www.facebook.com/dave.mcnulla').text.should == 'Profile'
end
puts "before Home"
it 'Home Page links' do
puts "Home"
@b.link(:href, 'http://www.facebook.com/?ref=home').click
@b.link(:href, 'http://www.facebook.com/?ref=home').text.should == 'Home'
@b.link(:href, 'http://www.facebook.com/dave.mcnulla').text.should == 'Profile'
end
puts "before Profile"
it 'Profile Page links' do
puts "Profile"
@b.link(:text, 'Profile').click
@b.link(:href, 'http://www.facebook.com/?ref=home').text.should == 'Home'
@b.link(:href, 'http://www.facebook.com/dave.mcnulla').text.should == 'Profile'
end
puts "before after"
after :all do
puts "All"
@b.close
end
end
输出:
before strting
before all
before Default
before Home
before Profile
before after
显然,测试用例的块没有运行。