进阶自动化测试 ------ selenium 命令之文字范本匹配
文字范本匹配
=======================================
文字范本匹配其实可以理解为通配符。我想大家都用过windows 系统自带的搜索功能。
* 星号代表一个或多个字符。
? 问号代表一个字符。
范本也是经常被selenes命令使用的参数;范本允许你使用特殊字符来描述期望值,而不是准确的说明期望值。
selenium中需要范本的命令包括:
verifyTextPresent、verifyTitle、verifyAlert、assertConfirmation、verifyText、verfyPrompt、
那么有哪些范本类型呢?
一般我们常用就有三种:globbing、regular expressions、Exact.
一、globbing范本
很多人熟悉globbing,因为它被用在DOS或者饿Unix\Linux命令中作为通配符。在selenium实现中,globbing只支持两种特殊符号:
1) * 意思是“匹配任何东西”,空、一个或多个字符
2) [] (字符集)意思是“匹配任何方括号内的字符”。连接符可以被用来缩短穷举符(必须在ASCCII字符集内连续)。
举例:
[aeiou]—-匹配任何小写元音字母
[0-9]—–匹配任何数字
[a-zA-Z0-9]——匹配任何字母与数字
为了使selenese命令中指明使用globbing范本参数,你可以在范本前加上“glob: ”前缀。当然globbing是默认范本模式,因此不加也是可以的。
二、regular expressions 范本
regular expressions范本是Selenese支持的三种范本类型中功能最强大的。regular expressions同样被很多高级语言所支持。
比如:假设你的测试需要保持特定表格单元中仅含有数字,regexp:[0-9]+ 是一个简单范本,可以匹配任何长度的十进制数。
regular expressions支持javaScript的所有特殊字符。表如下:
在selenese中regular expressions范本必须加上“regexp: ”或者“regexpi:”;前一种方式对大小写敏感,后一种方式对大小写不敏感。
举例:
下面例子,测试Yahoo! Anchorage, Alaska的天气页面是否包含日出时间的信息:
对上面范本含义的解释:
三、 Exact范本
Exact类型的范本很少被使用,它完全不使用特殊字符。但是,它却有着自己的特长。
假如你想找一个真实的 * 星号 怎么办呢?因为星号在前面连个范本中被定义成个特殊字符。
Exact范本将是一个解决方式。使用Exact范本需要加“exact:”前缀。
举例:
如果你想从下拉列表中选择一个标记为“real *”的选项。
如果使用globbing范本方式“glob:Real *”进行匹配的话,它可能工作正常,也可能不正常。因为globbing范本中的星号会匹配任何东西或空。
这时,我们就可以使用Exact范本来表示:
当然,通过regular expressions 范本的转义星号,也能达到效果。
在大多数测试中并不需要找星号或者中间有字符的方括号,因此,regular expressions 范本和globbing范本可以满足我们大多数的需求。
===================================================
小结:
关于,selenium命令这一部分,我学完了,记得刚开始用selenium IDE录制下来的命令与对应的参数,看的我似懂非懂。现在再看就会变的非常清晰。
其实命令这一部分都是比较基础的东西,理解了这一部分后面的学习才会比较顺利。相信学习QTP的同学都是要学习VBS脚本的,虽然不懂VBS你也能通过QTP的录制功能简单使用QTP。
但是,越往后面你对QTP的使用会变的很吃力,在项目的应用中会遇到各种问题,录制不是万能的,你需要修改,有时需要手动来写vbs脚本,如果vbs不熟悉的话,你对QTP使用将会寸步难行。磨刀不误砍柴工嘛!
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:779450660里面有各种软件测试资源和技术讨论)
相关文章
- 基于Ruby的Watir-WebDriver自动化测试方案
- 从手动测试到自动化测试老司机,只用了3个月,我的薪资翻了一倍
- 进阶自动化测试 ------ selenium 命令之验证页面元素
- 7年测开经验分享 ------ 3000字带你Python 接口自动化测试实战
- 35岁测试工程师,面临中年危机,我该如何自救...
- 软件项目的测试过程
- 包建强的培训课程(4):App测试深入学习和研究
- JMETER压力测试报错:JAVA.NET.BINDEXCEPTION: ADDRESS ALREADY IN USE: CONNECT
- postman接口测试——笔记
- Linux性能测试分析命令_sar+iostat+vmstat+top
- Newman+Jenkins实现接口自动化测试
- 从0到1精通自动化测试,pytest自动化测试框架,配置文件pytest.ini(十三)
- 自动化测试框架pytest命令参数
- 计算机网络实验【常见网络测试命令的使用】
- 4.Command Injection——High级别测试——小白笔记——DVWA
- 测试x264编码器的低延时编码和非延时编码
- [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题