
和之前的练习类似,我们抓取页面Demo Web Shop (tricentis.com) 为一个新的Module并命名为HomePage,将右上角的Register,Log in,Shopping Cart,WishList四个按键抓取出来,
再将点击Register后的页面抓取出来,取名为RegisterPage,将需要填写/选择内容的地方都抓取进来(抓取性别选项时不要抓取Male和Female文字所在元素,要抓取那两个RadioButton,抓取Firstname时也是,抓取右侧的输入框而不是左侧的文字本身)
后文中为了条理清晰,不同用法会各自建立一个Testcase,鼠标选中某个Testcase之后就会出现module搜索窗口,可以快速添加module
新建一个Testcase,鼠标选中该Testcase后,右键创建一个Configuration,再创建四个Test Configuration,分别命名为Browser, Password, URL, UserID,其中URL的值为https://demowebshop.tricentis.com/
键盘Ctrl+T, 搜索OpenUrl,将这个module添加到该测试脚本中,并将OpenUrl控件的参数填写为{CP[URL]}
执行该控件,即会打开HomePage
创建一个Testcase名为Create Buffer,为其添加一个TBox Set Buffer module,和一个我们先前抓取到的HomePage module,将内容修改为如下图所示(其中引用变量的格式为 {B[FirstName]} )
最后将RegisterPage打开,即可执行
我们执行一次2.2的结果后,RegisterPage即会填上一些内容,保持在这个状态,我们来创建新脚本:将RegisterPage Module引入新Testcase,将其中三个值的ActionMode修改为Buffer后,该Module即会将当前网页上元素的值存为变量,(默认变量名为该步名字,但是我们可以在value内填上我们想要的变量名)
在开始执行前打开上方工具栏页签的TOOLS-Buffer Viewer
执行完脚本后就会显示出创建好的变量和值
这里可以使用Set Buffer来测试,将其Value修改为{RND[5]},
右键该变量,选择Translate Value,即可看到一个可能的值,此处生成了5位随机数字
再生成几个变量,其值分别为{RND[1000][1050]},{RNDDECIMAL[7][3]},{RNDDECIMAL[2][1500][1800]},{RANDOMTEXT[5]},{CTMSTMP},{RANDOMREGEX[“^[A-Z][a-z]+[0-9][4]$”]}
分别执行Translate Value查看结果
和2.4类似,新建一个Testcase,添加一个TBox Set Buffer,新建变量如下图,其值分别为{Date}代表当前日期DD.MM.YYYY,{Time}代表当前时间HH:MM,{DATETIME}代表YYYYMMDDHHMMFF,{Day}代表DD,{MONTH}代表MM,{YEAR}代表YYYY,{MONTHFIRST}
{Date[][][dd/MM/yyyy]}代表以不同格式输出当前日期(这里的M代表Month,m代表minute)
{Date[][+2d][dd/MM/yyyy]}代表以不同格式输出当前日期后两天的日期
{Date[][+2w][dd/MM/yyyy]}代表的则是当前日期后两天workingday的日期, 例如1.25+2应该是1.27,但是由于1.27,1.28是周末,所以会顺延两天到1.29(要添加工作日,可以在Project-Settings-TBox-Special Dates内以ddmm的格式添加到Fixed Holidays内,例如2601;2901)
{Date[23/01/2024][+2d][dd/MM/yyyy]}会报错,因为默认日期格式不是dd/MM/yyyy, 可以去 Project-Settings-TBox-Dynamic temporal expression设置Target Date format为dd/MM/yyyy,这样就不会报错了(这里Target的意思是开发者为控件输入日期的格式,下方Tosca Date format是默认情况下tosca返回日期值的格式)
Value分别为{Math[{B[Var1]}+{B[Var2]}]}, {Math[{B[Var1]}-{B[Var2]}]}, {Math[{B[Var1]}*{B[Var2]}]}
我们来到RegisterPage,在Email右侧输入框填入 abc@gmail.com,再执行以下testcase:
Value的表达式为{XB[UserID]}@gmail.com
执行后会检验该输入框的值是否符合”以@gmail.com结束”的规则,如果符合的话就新建一个名为UserID的变量,其值为@gmail.com前的值
新建Testcase,右键后选择添加IF条件
将HomePage module添加至IF条件下,Value值为 .Exist==True
结果如下图,流程首先会判断Log in对应的元素是否存在,如果存在的话就执行THEN的流程,也就是点击Log in按钮
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
11 | |
8 | |
6 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |