实验五 正则表达式、AOM、WSH

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– \d{3}\w{4}:以3个数字字符开头的长度为7的数字字母字符串
– a..b:以a开头,b结尾,中间包括2个任意字符的长度为4的字符串
• \W:用于匹配所有与\w不匹配的字符;
《软件测试工具》
SEI of ECNU 版权所有©
1-11
练习1 理解正则表达式
‘q[^u]’可否匹配Qantas或者Iraq? ‘gr[ea]y’,’grey|gray’,’gr(a|e)y’,’gra|ey’ ,’gr[a|e]y’几个表达式中哪些含义是一致的? ‘^good$’,’^$’,’^’的含义是什么 若希望匹配,表达为 ’’正确吗?为什么?
《软件测试工具》
SEI of ECNU 版权所有©
1-9
元字符
常用的元字符
限定符:用于指出在匹配对象出现的频率
• “^”:指定起始字符
– ^[0-9]+[a-z]* 符串 :以至少1个数字开头,后接任意个小写字母的字
• “$”:指定结束字符
– ^[0-9]\-[a-z]+$:以1个数字开头后接连字符“–”,并以至少1个小写 字母结尾的字符串
Set Matches = regEx.Execute(strng) ' 执行搜索。 For Each Match in Matches RetStr = RetStr & "Match found at position " RetStr = RetStr & Match.FirstIndex & ". Match Value is '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
ห้องสมุดไป่ตู้
《软件测试工具》
SEI of ECNU 版权所有©
1-16
2、QTP Automation Object Model
Automation
is a Microsoft technology that makes it possible to access software objects inside one application from other applications. These objects can be created and manipulated using a scripting or programming language such as VBScript or VC++. Automation enables you to control the functionality of an application programmatically.
Automatic Test
内容提要
正则表达式 AOM WSH
内嵌于 Windows 操作系统中的脚本语言工作环境。
《软件测试工具》
SEI of ECNU 版权所有©
1-2
1、正则表达式
Function checkdate(dateStr) Dim regEx ' 建立变量。 Set regEx = New RegExp ' 建立正则表达式。 regEx.Pattern = "((0[1-9])|(1[0-2]))/((0[1-9])|([1-2][0-9])|(3[0-1]))/([29][0-9]{3})" regEx.Global = True checkdate=regEx.Test(dateStr) End Function
• [^ ]:不接收的字符列表
– ab|cd:ab或者cd
– [efgh],e、f、g、h中的任意1个字符 – [e-h],[-eh],[A-Z0-9a-z.?!] – [^abc]:除a、b、c之外的任意1个字符,包括数字和特殊符号
• |:匹配“|”之前或之后的表达式
《软件测试工具》
SEI of ECNU 版权所有©
Vb脚本:启动QTP并执行测试
Dim qtapp Set qtapp=CreateObject(“quicktest.application”) ‘创建qtp应用程序对象 unch '启动QTP qtapp.Visible=True '设置为可见 ' qtapp.Open “d:\Test” ‘打开相应的QTP测试脚本( 用已有的测试脚本即可进行实验) qtapp.Test.Run '运行测试脚本 qtapp.Quit '退出QTP Set qtapp=Nothing ‘释放
《软件测试工具》 SEI of ECNU 版权所有© 1-15
练习2 正则表达式应用
新建一个vb脚本 使用正则表达式的方法进行如下判断
‘q[^u]’可否匹配Qantas或者Iraq? ‘gr[ea]y’,’grey|gray’,’gr(a|e)y’,’gra|ey’, ’gr[a|e]y’几个表达式中哪些含义是一致的? ‘^good$’,’^$’,’^’的含义是什么 若希望匹配,表达为 ’’正确吗?为什么?
《软件测试工具》
SEI of ECNU 版权所有©
1-17
QTP Automation Object Model
QuickTest automation object model
is a set of objects, methods, and properties that enable you to control essentially all of the configuration and run functionality provided via the QuickTest interface. 为无人值守的自动化测试提供实现的基础 1. Initialization scripts. 2. Maintaining your tests and components. Updating values. Applying new options to existing tests and components. Modifying Actions and Action Parameters (tests only). 3. Calling QuickTest from other applications.
1-4
普通字符
由所有那些未显式指定为元字符的打印和非打印字符 组成,包括
所有的大写和小写字母字符, 所有数字 所有标点符号以及一些符号。
《软件测试工具》
SEI of ECNU 版权所有©
1-5
元字符
常用的元字符
基本符号
• \:转义符
• [ ]:可接收的字符列表
– “\*”表示匹配符号“*” – 在字符数组内可能无效[s\.y]
• “+”:规定其前导字符必须在目标对象中连续出现一次 或多次 • “*”:规定其前导字符必须在目标对象中出现零次或连 续多次 • “?”:规定其前导对象必须在目标对象中连续出现零次 或一次
– “wil?”:在字母i后面连续出现0或1字母l的字符串相匹配。 – “eg*”:在字母e后面连续出现零个或多个字母g的字符串相匹配, east,egg,egggggggg – “fo+”:可以匹配字母f后面连续出现一个或多个字母o的字符 ,例如fool,foot ,fo
《软件测试工具》
SEI of ECNU 版权所有©
1-10
元字符
常用的元字符
匹配字符集:是预定义的用于正则表达式中的符号集。如果字符串与字 符集中的任何一个字符相匹配,它就会找到这个匹配项。
• . :用于匹配除换行符之外的所有字符。 • • • • •
\s:用于匹配单个空格符,包括tab键和换行符; \S:用于匹配除单个空格符之外的所有字符; \d:用于匹配从0到9的数字; \D: 匹配单个非数字字符,相当于[^0-9] \w:用于匹配字母,数字或下划线字符;
《软件测试工具》
SEI of ECNU 版权所有©
1-21
练习3 AOM
新建一个vb脚本,实现自动启动QTP,加载指定测 试脚本,并执行测试。
《软件测试工具》
SEI of ECNU 版权所有©
1-8
元字符
常用的元字符
限定符:用于指出在匹配对象出现的频率
• {n}, {n,}, {n,m}可以精确指定出现频率
– {n} n 是一个非负整数,匹配确定的 n 次。 – {n,}, n 是一个非负整数,至少匹配n次 – {n,m},最少匹配 n 次且最多匹配m 次, » 例如”jim{2,6}” 表示字母m可以出现2-6次
《软件测试工具》
SEI of ECNU 版权所有©
1-12
VBScript与正则表达式
VBScript中使用RegExp对象支持对正则表达式的支持
属性
• Pattern:描述正则表达式 • IgnoreCase:匹配字符串时是否区分大小写 • Global:设置搜索过程中是仅匹配第一个还是全部匹配
Object Model
is a structural representation of software objects (classes) that comprise the implementation of a system or application. An object model defines a set of classes and interfaces, together with their properties, methods and events, and their relationships.
VBScript与正则表达式
步骤
1. 2. 3. 4. 使用RegExp类建立正则表达式对象(使用set) 利用Pattern属性设置匹配模式(正则表达式) 根据需要设置Global和IgnoreCase属性 调用需要的方法:Excute,Test,Replace完成相应的功能
《软件测试工具》
SEI of ECNU 版权所有©
1-14
VBScript与正则表达式
Function RegExpTest(patrn, strng) Dim regEx, Match, Matches Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = False regEx.Global = True ' 建立变量。 ' 建立正则表达式。 ' 设置模式。 ' 设置是否区分字符大小写。 ' 设置全局可用性。 ' 遍历匹配集合。
方法
• Execute:对指定的字符串执行正则表达式搜索,返回 Mathes集合,其中包含了在指定的字符串中找到的每一 个匹配项 • Test:对指定的字符串执行正则表达式搜索,并返回一个 布尔值,表示是否找到匹配的模式 • Replace:替换在正则表达式中找到的文本
《软件测试工具》 SEI of ECNU 版权所有© 1-13
《软件测试工具》
SEI of ECNU 版权所有©
1-3
正则表达式
正则表达式
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字 符(称为元字符)组成的文字匹配模式。
• % egrep ‘^(From|Subject):’ mailbox-file
《软件测试工具》
SEI of ECNU 版权所有©
1-6
元字符
常用的元字符
基本符号
• ( ) :将子表达式分组 • - :连字符
– (abc),将字符串abc作为一组 – A-Z 任意单个大写字母 – 只有在[ ]中才具有范围的意义,放在第一个除外
《软件测试工具》
SEI of ECNU 版权所有©
1-7
元字符
常用的元字符
限定符:用于指出在匹配对象出现的频率
《软件测试工具》
SEI of ECNU 版权所有©
1-18
QTP AOM
《软件测试工具》
SEI of ECNU 版权所有©
1-19
QTP AOM
Implementation in different language
VB
JavaScript
Visual C++
《软件测试工具》 SEI of ECNU 版权所有© 1-20
相关文档
最新文档