文字范本匹配

=======================================

文字范本匹配其实可以理解为通配符。我想大家都用过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使用将会寸步难行。磨刀不误砍柴工嘛!

python selenium --命令之文字范本匹配的更多相关文章

  1. 《零成本实现Web自动化测试--基于Selenium》 第四章 Selenium 命令

    Selenium 命令,通常被称为Selenese,由一系列运行测试案例所需要的命令构成.按顺序排列这些命令就构成了测试脚本. 一. 验证颜面元素 1.Assertion或者Verification ...

  2. 使用Python + Selenium打造浏览器爬虫

    Selenium 是一款强大的基于浏览器的开源自动化测试工具,最初由 Jason Huggins 于 2004 年在 ThoughtWorks 发起,它提供了一套简单易用的 API,模拟浏览器的各种操 ...

  3. Python +selenium自动化环境的搭建

    Python +selenium+googledriver 小白的血泪安装使,不停的总结写心得是理解透彻的毕竟之路 一,python的安装: 首先去Python的官网下载安装包:https://www ...

  4. Python + selenium + pycharm 环境部署细节 和selenium、Jenkins简单介绍

    一.测试体系:Python + selenium + pycharm + Jenkins/docker 环境搭建: 1.安装python 3.4/3.5 2/3.6/ 3.7 2.配置环境变量 3.p ...

  5. Python+Selenium UI自动化测试环境搭建及使用

    一什么是Selenium ? Selenium 是一个浏览器自动化测试框架,它主要用于web应用程序的自动化测试,其主要特点如下:开源.免费:多平台.浏览器.多语言支持:对web页面有良好的支持:AP ...

  6. python+selenium初学者常见问题处理

    要做web自动化,第一件事情就是搭建自动化测试环境,那就没法避免的要用到selenium了. 那在搭建环境和使用过程中经常会遇到以下几类问题: 1.引入selenium包失败: 出现这种错误,一般分为 ...

  7. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  8. python + selenium定位页面元素的办法

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  9. 【python+selenium的web自动化】- Selenium WebDriver原理及安装

    简单介绍 selenium ​ selenium是一个用于测试web网页的自动化测试工具,它直接运行在浏览器中,模拟用户的操作.

随机推荐

  1. [BalkanOI2016]Cruise

    题目大意: 平面直角坐标系内有n个点,每个点有一个点权. 你从原点p出发,走若干个点然后回到原点. 两个点之间只能笔直走,你的收获为你的路径围起来的区域内的所有店权和除以路径长度. 问最大收益. 思路 ...

  2. Maven打war包时,添加本地jar包

    1.在项目根目录中新建lib文件夹,添加jar包 2.在pom.xml文件中添加dependency <dependency> <groupId>com.oracle</ ...

  3. 判断隐式Intent是否有响应

    PackageManager manager = getContext().getPackageManager(); if (manager.queryIntentActivities(intent, ...

  4. ConstraintLayout导读

    ConstraintLayout是Android Studio 2.2中主要的新增功能之一,也是Google在去年的I/O大会上重点宣传的一个功能,可以把ConstraintLayout看成是一个更高 ...

  5. 一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下(转)

    本文转自http://blog.csdn.net/gs80140/article/details/51496925 一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下: ...

  6. 【spring cloud】spring cloud中启动eureka集群时候,发生端口已经绑定的报错The Tomcat connector configured to listen on port 8000 failed to start. The port may already be in use or the connector may be misconfigured.

    在分别设置 进行微服务eureka集群启动时候,执行命令行启动jar包时候,报错前面一个端口8000已经被使用,而我这里启动的配置文件中端口号是8001,怎么会导致端口冲突呢?? 但是报错我的端口冲突 ...

  7. python笔记15-ini配置文件(configparser)

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser configPars ...

  8. easyui-datagrid列的数据内容过长自动换行

    在datagrid中添加一句,DataGrid属性中的nowrap:false. (默认为true). JS文件: $('#_main_table').datagrid({ method:'get', ...

  9. [转]在Excel中使用SQL语句实现精确查询

    本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...

  10. 判断客户端是PC还是手持设备的JS代码【转】

    1.第一种: 复制代码代码如下: function IsPC() {    var userAgentInfo = navigator.userAgent;    var Agents = [&quo ...