51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2805|回复: 1
打印 上一主题 下一主题

菜鸟学自动化测试(六)----selenium 命令之文字范本匹配

[复制链接]
  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2015-12-11 11:21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    文字范本匹配
    =======================================
    文字范本匹配其实可以理解为通配符。我想大家都用过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使用将会寸步难行。磨刀不误砍柴工嘛!
    selenium高级自动化测试实战 :http://www.atstudy.com/course/16
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏3
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-8-4 11:02
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2015-12-14 11:16:45 | 只看该作者
    从你写的文章中学习到很多知识,非常感谢!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 01:13 , Processed in 0.063486 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表