变量与赋值 


直接变量赋值 & 使用变量
直接变量赋值语法:变量名=
变量值表达式
使用变量语法:${
变量名}
变量名 可以是任意有意义的字串,类似编程语言变量名;变量值表达式 可以直接使用一段固定文本,也可以是文本和其他变量值的混合。
商品名称=三鹿奶粉
商品名称1=蒙牛奶粉以及${商品名称} //商品名称1的值将是:蒙牛奶粉以及三鹿奶粉
点击${商品名称1} //服务认为该操作等同于:点击蒙牛奶粉以及三鹿奶粉
文本抓取变量赋值
语法:变量名=获取文本
文本定位语义
从页面上抓取文本,赋值给指定 变量名。抓取文本的位置使用指定的 文本定位语义 进行定位,此处常用动态语法中的相对位置定位语法。
点赞数=获取文本点赞图标右侧元素 //抓取点赞数量文本,赋值给点赞数变量
商品价格=获取文本${商品名}下侧元素 //抓取位于${商品名} 元素下侧的价格文本
请求获取变量赋值
语法:变量名=请求#
链接
有些时候需要UI自动化测试需要结合后端进行,比如从后端获取一个正在参加满减优惠的商品,用UI购买验证是否能下单成功。
此语法将发送GET请求至指定 链接,请求的返回以文本形式赋值给指定 变量名
限时购商品=请求#http://ip.cn //后续可以使用${限时购} 商品完成这个活动商品有关用例了
JSON变量解析
语法:新变量名=JSON解析#
${json变量名}解析语法
该语法用于解析合法JSON类型的变量中的值,用于后续的操作。
其中解析语法
可以理解为JavaScript对象操作的全套语法,比如json.id,json.array.length,json.array[0].name 等等,具体可以参考JavaScript相关标准。
具体举例说明如下所示:
//初始化变量:json变量
json变量={"id":123, "list": [{"name":"name0"},{"name":"name1"}]}
//json_id将被赋值为:123
json_id=JSON解析#${json变量}.id
//json_list_length 将被赋值为:2,也就是list这个数组的长度
json_list_length=JSON解析#${json变量}.list.length
//json_list_1stitem_name 将被赋值为:name0,也就是list第一个元素的name属性的值
json_list_1stitem_name=JSON解析#${json变量}.list[0].name
随机数变量
语法:${time}
简单随机数语法,变量名为time的变量值为当前的秒级日期显示(非timestamp)。
在评论输入框输入到此一游${time} //将会输入:到此一游201809011230
变量切割
语法:${
待切割变量名}
切割语法
具体切割语法如下所示:
商品名=自营雅培奶粉similac 3段
存在${商品名}("自营","0") //存在雅培奶粉similac 3段
存在${商品名}["0","similac") //存在自营雅培奶粉
存在${商品名}("0","similac"] //存在营雅培奶粉similac
存在${商品名}("1","5"] //存在雅培奶粉
宏
语法:#宏
宏文件名.mtxt
<参数1>
<参数2>
用法详见宏的封装。