标签:des style blog class code java
创建自动化测试是为了实现无人值守下运行,但也给开发人员带来一些问题。假如你离开办公室前启动测试,想要让它通宵运行。然而,由于不可预见的错误,您的测试会在某一点停止,中断了测试结果。因此QTP中引入场景恢复方案。测试运行错误"列表或菜单中找不到选项",可参考以下场景恢复方案。
Function fnRecovery(Object, Method, Arguments, retVal) ‘Error Handling Code End Function
Object as Object: The object of the current step. ‘当前步骤的对象 Method as String: The method of the current step. ‘当前步骤的方法 Arguments as Array: The actual method‘s arguments. ‘方法的实参 Result as Integer: The actual method‘s result. ‘方法的实际结果
我们使用以下函数处理报错场景:
Function Recovery_ListItemIsNotFound(Object, Method, Arguments, retVal) Dim sAllItems, arrAllItems, intItem With Object ‘Retrieve all items from the Listbox sAllItems = .GetROProperty("all items") ‘Split ‘all items‘ using a delimiter ";" into an array arrAllItems = Split(sAllItems, ";") ‘Select a random number intItem = RandomNumber.Value(LBound(arrAllItems), UBound(arrAllItems)) .Select "#" & intItem Reporter.ReportEvent micInfo, "ListItemIsNotFound", "Item: " & .GetROProperty("value") End With End Function
Recovery_ListItemIsNotFound,顾名思议,如果WebList对象中不存在列表项,执行恢复操作。这中从错误在Web应用程序中是很常见的,WebList中的项往往随输入而更改。
在窗口中,点击下面的按钮,可以调用场景恢复向导:
当上面的界面打开后:
我们将在下面的 WebList中选择一个不存在的值;以下为源代码。查看列表下拉项,你会发现"Rational Robot"实际不存在,当我们选择它时,恢复方案将处理该错误-即从列表中选择一个随机值
Browser("title:=.*Recovery Scenario.*").Page("micclass:=Page")_ .WebList("name:=testTools").Select "Rational Robot" MsgBox "Item Selected: " & Browser("title:=.*Recovery Scenario.*").Page("micclass:=Page")_ .WebList("name:=testTools").GetROProperty("value") |
当执行上面这段代码时,你会发现不再抛出测试错误而是选中列表中的一个随机值.场景恢复方案被触发并成功执行后将出现下面的结果:
此外,还有很多其他场景,我会不断整理补充一些重要场景.
翻译自http://relevantcodes.com/recovery-scenario-test-run-error-item-in-list-or-menu-not-found/ ,若有错误部分,大家积极留言共同纠正
标签:des style blog class code java
原文地址:http://www.cnblogs.com/sylvia-liu/p/3716776.html