Public Function Gen_excepData(byval dObj,byRef oScript) ‘ 异常值,正确值,异常类型,异常参数 Dim errorValue,CorrectValue,expType,expPara Dim objName,scriptstr Dim i,j,expItem expItem = 0 ‘ 记录异常数 Randomize
for i = 1 to DataTable.GetSheet("UserData").GetParameterCount ‘ 第一行数据为默认正确数值 CorrectValue = DataTable.GetSheet("UserData").GetParameter(i).ValueByRow(1) datatable.SetCurrentRow 2
if Instr(Datatable.value(i,"UserData"),"exp@@")>0 Then objName = dObj.Item(Datatable.value(i,"UserData")) ‘ 同一字段多种异常策略的处理 arr1 = split (Datatable.value(i,"UserData"),"|",-1,1) For j = 0 to Ubound(arr1) ‘ 获取异常类型和异常参数 If RegExpTest("exp@@.{1,}/(.{1,}/)",arr1(j)) Then exptype = Mid(arr1(j),6,InStr(arr1(j),"(")-6) expPara = Mid(arr1(j),InStr(arr1(j),"(")+1,InStr(arr1(j),")")-InStr(arr1(j),"(")-1) Else expType = replace(arr1(j),"exp@@","") End If ‘ 不同策略对应的数据生成 select Case expType Case "SpecialChar" errorValue = Replace(CorrectValue,Right(CorrectValue,1),"%") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"'") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"/") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),":") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"*") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"&") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"?") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"""") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"<") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),">") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"|") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),"(") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr errorValue = Replace(CorrectValue,Right(CorrectValue,1),")") scriptstr = objName + chr (34) + errorValue + chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "StringLenMax" errorValue = CorrectValue Dim n For n = 1 to expPara+1-Len(CorrectValue) errorValue = errorValue & chr(Int(26 * Rnd + 97)) Next scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "StringLenMin" errorValue = Left(CorrectValue,expPara-1) scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "String" errorValue = "" Dim n For n = 1 to Len(CorrectValue) errorValue = errorValue & chr(Int(10 * Rnd + 48)) Next scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "Num" errorValue = Left(CorrectValue,Len(CorrectValue)-1) & chr(Int(26 * Rnd + 97)) scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "NumMax" errorValue = expPara + 1 scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "NumMin" errorValue = expPara - 1 scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "NumLenMax" errorValue = CorrectValue Dim n For n = 1 to expPara+1-Len(CorrectValue) errorValue = errorValue & chr(Int(10 * Rnd + 48)) Next scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "NumLenMin" errorValue = Left(CorrectValue,expPara-1) scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "StringPre" Dim n,tmpStr tmpStr = "" For n = 1 to Len(expPara) tmpStr = tmpStr & chr(Int(26 * Rnd + 97)) Next errorValue = Replace(CorrectValue,expPara,tmpStr) scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "NumPre" Dim n,tmpStr tmpStr = "" For n = 1 to Len(expPara) tmpStr = tmpStr & chr(Int(10 * Rnd + 48)) Next errorValue = Replace(CorrectValue,expPara,tmpStr) scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "Email" errorValue = Replace(CorrectValue,"@",chr(Int(26 * Rnd + 97))) errorValue = Replace(errorValue,".",chr(Int(26 * Rnd + 97))) scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr Case "Need" errorValue = "" scriptstr = objName & chr(34) & errorValue & chr(34) expItem = expItem + 1 oScript.add "excepData" & expItem,scriptstr End Select Next End If Next
End Function
|
相关推荐
- **文本检查点**:检查页面上文本内容。 - **表格检查点**:验证表格中的数据。 - **图片检查点**:对比图像。 - **检查对象**: - **定位对象**:使用对象标识符定位待检查的对象。 - **设置属性**:指定要...
【QTP特点与基本操作】 QuickTest Professional(QTP)是HP公司开发的一款自动化测试工具,主要用于功能和回归测试。QTP的特点主要包括以下几个方面: 1. **自动化录制与回放**:QTP能够通过录制用户的操作来创建...
在QTP中创建数据表,定义参数变量,以便在测试过程中使用不同的数据集。 **在数据表中输入参数:** 为每个参数输入一组或多组数据,以进行数据驱动测试。 **修正受到参数化影响的测试步骤:** 根据数据表中的参数...
在使用"checkallurl"脚本前,你需要确保你的QTP环境已经配置好,并理解脚本的基本结构和逻辑。此外,可能需要根据你的具体需求进行定制,比如调整链接的提取规则,或者改变结果输出的方式。对于不熟悉VBScript的用户...
在QTP的使用过程中,可能会遇到各种问题,下面我们将围绕这些常见问题进行详细的探讨。 1. **对象识别问题**:QTP通过对象库来识别应用程序中的元素。有时,由于对象属性的变化或QTP无法正确识别对象,可能导致测试...
- **基本概念**: 解释 Action 是什么以及如何在 QTP 中使用它。 - **高级用法**: 探讨 Action 在复杂测试脚本中的高级应用方式。 #### 17. Action 参数调用 - **定义**: 如何向 Action 传递参数以及如何在 Action ...
QTP支持多种类型的检查点,如值检查点、图像检查点、数据库检查点等,它们用于验证测试过程中特定对象的属性或状态是否符合预期。 3.2 创建检查点 在脚本中插入检查点,可以确保测试过程中特定步骤的正确性。这可以...
通过"qtp Tutorial 中文帮助"的文档,初学者可以深入学习这些概念,并逐步掌握QTP的使用技巧,从而在实际工作中高效地执行自动化测试任务。教程中的`Tutorial.chm`文件很可能包含了详细的教学章节、示例和练习,帮助...
10. **检查点(Check Points)**:通过设置检查点,QTP可以在测试过程中验证应用程序的状态,如页面元素的属性、数据库记录等。 11. **测试运行与结果分析**:QTP提供详细的测试报告,包括测试步骤、结果和失败原因...
【恢复点(Recovery Scenarios)**是QTP的另一特色,它允许你在脚本中预设错误处理策略,当测试遇到异常时,可以按照设定恢复测试环境,继续执行测试。 【对象仓库(Object Repository)**是QTP保存所有对象的地方...
测试结束后,根据结果视图中的信息判断测试是否成功,检查点是否匹配,异常信息是否出现。 ### 3. 建立检查点 检查点是验证被测对象属性的关键手段,QTP支持多种类型的检查点,如: - **文本检查点**:验证页面上的...
在使用QTP(Quick Test Professional)进行自动化测试时,可能会遇到无法录制脚本的问题,尤其是在安装QTP之后或者禁用了IE浏览器中的某些ActiveX控件之后。此问题表现为在正常尝试录制时,QTP无法生成相应的录制...
首先,我们需要理解QTP脚本的基本结构。通常,一个QTP脚本会包括初始化、主体测试步骤和清理(或注销)阶段。在初始化阶段,我们会设置环境参数、打开应用程序等;主体测试步骤执行实际的功能操作,如输入用户名和...
2. 使用检查点:QTP提供了多种检查点类型,如Value Check、Existence Check等,可以方便地验证页面元素的值、存在性等。 五、文档与资源 提供的文档"QTP自动化脚本.doc"可能详细介绍了上述步骤,而"LOGIN.rar"可能...
针对你的问题,我们将深入探讨QTP中的网页检查点设置以及脚本生成的记录。 网页检查点是QTP中一种重要的验证机制,它用于检查网页上的某个元素(如文本、图像、链接等)是否符合预期状态。当设置网页检查点时,QTP...
8. **错误处理**:了解QTP中的异常处理机制,如Try...Catch结构,以增强测试脚本的健壮性。 9. **报告和结果分析**:学习如何查看和分析测试结果,理解测试失败的原因,以便进行问题定位和修复。 其次,"**demo**...
- **异常处理**:如果在关闭过程中遇到异常,如弹出对话框,则需要通过激活对话框并发送键盘事件来模拟用户点击确定按钮的行为,从而确保关闭过程顺利完成。 - **报告结果**:最终,函数会根据关闭情况输出相应的...
8. **关联(Correlation)**:在动态网页测试中,QTP需要处理动态变化的对象,如会话ID或验证码。关联技术允许我们捕获和替换这些动态值,确保脚本的可重复执行。 9. **测试资源管理**:QTP的测试资源管理器...