zoukankan      html  css  js  c++  java
  • 菜鸟学自动化测试(六)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使用将会寸步难行。磨刀不误砍柴工嘛!

  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/fnng/p/2322773.html
Copyright © 2011-2022 走看看