首先非常感谢你阅读这个问题。
我使用Ruby-1.8.7和Webdriver连接到FF浏览器。我正在测试我们的产品功能。有一个表单,我给出错误的输入和期待错误消息。这是5个步骤(页面)过程,当我点击下一个按钮时,我可能会根据我在该特定页面上的输入得到错误。只有在输入错误时才会出现错误,我点击下一步按钮。如果我收到预期的错误消息,我应该将测试标记为通过。简单的例子是如果我在Description字段中输入太长的描述,系统将抛出错误消息“描述太长。”
这里的问题是在我得到这种预期错误时进行测试时,我希望使用Pass / Success终止Ruby单元测试并执行新测试。
我尝试了不同的方法,但无法将测试设置为通过/成功。 示例代码。
def enterdata()
...
click_next_and_check_for_error_message(timeout,expected_message)
set_file_server_settings(args)
click_next_and_check_for_error_message(timeout,expected_message)
set_select_filters(args)
click_next_and_check_for_error_message(timeout,expected_message)
set_registration_scope(args)
click_next_and_check_for_error_message(timeout,expected_message)
set_schedule_scan(args)
click_next_and_check_for_error_message(timeout,expected_message)
end
def click_next_and_check_for_error_message(...)
...
if !message.empty?
print "\nExpected is #{exp_msg}"
print "\nActual is #{message}"
if (exp_msg == message)
#if assert_equal( exp_msg, message, "Expected message #{exp_msg} did not come" )
print "\n*** MATACHED ***\n"
raise TestPassed
else
raise ApplianceFailure, message
end
end
exo_msg和message都是相同的,测试应该像我期望的那样成功终止。
请指导我。
测试::单位