目前我正在测试一个我们无法编译的网站(出于各种其他原因)所以在此期间,我正在浏览页面中的浏览器中的编译错误。
我创建了一个简单的RSpec脚本(我是菜鸟!),它将打开网站上的所有页面并检查以确保它找不到“/'应用程序中的服务器错误”。在标头标签中。
这是有效的,但我必须弹出浏览器并退出我测试的每个页面,这使得运行起来很费时间。
如果我在脚本中用before(:each) do
替换before(:all) do
,那么我可以让它在浏览器中执行所有测试,除非我这样做,它会报告误报(有服务器的页面)标题中的错误仍然会通过)。
我已在@driver.get("http://www.staging.example.local/examplepage.aspx")
部分之后尝试使用等待语句,但似乎无法使语法正确。
如果有人可以提供语法帮助或者有更好的建议,我们将不胜感激。
我脚本的相应部分如下所示:
before(:each) do
@driver = Selenium::WebDriver.for :firefox
@driver.manage.timeouts.implicit_wait = 10
#@driver.manage.window.maximize
@base_url = "http://staging.environment.local"
@accept_next_alert = true
@verification_errors = []
end
after(:each) do
@driver.quit
@verification_errors.should == []
end
it "should load examplepage.aspx" do
@driver.get("http://www.staging.example.local/examplepage.aspx")
if element_present?(:css, "h1")
verify {(@driver.find_element(:css, "h1").text).should_not == "Server Error in '/' Application."}
else end
end