Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
ArthurYang
Product and Topic Expert
Product and Topic Expert
0 Kudos

本文内容来源自我对ECT的理解,阅读时间1小时

 

如果您对BTP感兴趣,BTP个人精选内容目录 | SAP Blogs  可能有更多你需要的内容

 

经过练习,我们已经可以完成一个基础的流程测试脚本了,但是距离完成自有场景的脚本开发还有一点距离,这里为大家展示一下ECT工具的更多常见用法,以帮助您更快的开发出自有场景的测试脚本

 

本文档包含两个部分:

1.抓取范例页面

2.范例测试动作用法

 

1.抓取范例页面

和之前的练习类似,我们抓取页面Demo Web Shop (tricentis.com) 为一个新的Module并命名为HomePage,将右上角的RegisterLog inShopping CartWishList四个按键抓取出来,

Picture1.png

再将点击Register后的页面抓取出来,取名为RegisterPage,将需要填写/选择内容的地方都抓取进来(抓取性别选项时不要抓取MaleFemale文字所在元素,要抓取那两个RadioButton,抓取Firstname时也是,抓取右侧的输入框而不是左侧的文字本身)

Picture2.png

2.范例测试动作用法

后文中为了条理清晰,不同用法会各自建立一个Testcase,鼠标选中某个Testcase之后就会出现module搜索窗口,可以快速添加module

 

2.1调用环境变量

新建一个Testcase,鼠标选中该Testcase后,右键创建一个Configuration,再创建四个Test Configuration,分别命名为Browser, Password, URL, UserID,其中URL的值为https://demowebshop.tricentis.com/

键盘Ctrl+T, 搜索OpenUrl,将这个module添加到该测试脚本中,并将OpenUrl控件的参数填写为{CP[URL]}

执行该控件,即会打开HomePage

Picture3.png

 

Picture4.png

 

2.2创建变量并引用

创建一个Testcase名为Create Buffer,为其添加一个TBox Set Buffer module,和一个我们先前抓取到的HomePage module,将内容修改为如下图所示(其中引用变量的格式为 {B[FirstName]}

最后将RegisterPage打开,即可执行

Picture5.png

 

2.3基于网页元素的值创建变量

我们执行一次2.2的结果后,RegisterPage即会填上一些内容,保持在这个状态,我们来创建新脚本:将RegisterPage Module引入新Testcase,将其中三个值的ActionMode修改为Buffer后,该Module即会将当前网页上元素的值存为变量,(默认变量名为该步名字,但是我们可以在value内填上我们想要的变量名)

在开始执行前打开上方工具栏页签的TOOLS-Buffer Viewer

执行完脚本后就会显示出创建好的变量和值

Picture6.png

 

2.4生成随机数

这里可以使用Set Buffer来测试,将其Value修改为{RND[5]}

Picture7.png

右键该变量,选择Translate Value,即可看到一个可能的值,此处生成了5位随机数字

Picture8.png

再生成几个变量,其值分别为{RND[1000][1050]},{RNDDECIMAL[7][3]},{RNDDECIMAL[2][1500][1800]},{RANDOMTEXT[5]},{CTMSTMP},{RANDOMREGEX[“^[A-Z][a-z]+[0-9][4]$”]}

Picture9.png

分别执行Translate Value查看结果

 

2.5随机日期和时间

和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代表Monthm代表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 formatdd/MM/yyyy,这样就不会报错了(这里Target的意思是开发者为控件输入日期的格式,下方Tosca Date format是默认情况下tosca返回日期值的格式)

Picture10.png

 

2.6数学运算

Value分别为{Math[{B[Var1]}+{B[Var2]}]}, {Math[{B[Var1]}-{B[Var2]}]}, {Math[{B[Var1]}*{B[Var2]}]}

Picture11.png

 

2.7对页面的值进行检验并提取数据

我们来到RegisterPage,在Email右侧输入框填入 abc@gmail.com,再执行以下testcase

Value的表达式为{XB[UserID]}@gmail.com

Picture12.png

执行后会检验该输入框的值是否符合”@gmail.com结束的规则,如果符合的话就新建一个名为UserID的变量,其值为@gmail.com前的值

 

2.8条件判断

新建Testcase,右键后选择添加IF条件

将HomePage module添加至IF条件下,Value值为 .Exist==True

Picture13.png

结果如下图,流程首先会判断Log in对应的元素是否存在,如果存在的话就执行THEN的流程,也就是点击Log in按钮

 

Picture14.png

 

 

关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果需要帮助,也可以直接联系到我 arthuryang1996@foxmail.com,感谢你的时间