变量与赋值 AndroidiPhoneBrowser

直接变量赋值 & 使用变量

直接变量赋值语法:变量名=变量值表达式

使用变量语法:${变量名}

变量名 可以是任意有意义的字串,类似编程语言变量名;变量值表达式 可以直接使用一段固定文本,也可以是文本和其他变量值的混合。

商品名称=三鹿奶粉
商品名称1=蒙牛奶粉以及${商品名称} //商品名称1的值将是:蒙牛奶粉以及三鹿奶粉
点击${商品名称1} //服务认为该操作等同于:点击蒙牛奶粉以及三鹿奶粉

文本抓取变量赋值

语法:变量名=获取文本文本定位语义

从页面上抓取文本,赋值给指定 变量名。抓取文本的位置使用指定的 文本定位语义 进行定位,此处常用动态语法中的相对位置定位语法。

点赞数=获取文本点赞图标右侧元素 //抓取点赞数量文本,赋值给点赞数变量
商品价格=获取文本${商品名}下侧元素 //抓取位于${商品名} 元素下侧的价格文本    

位置抓取变量赋值

语法:变量名=获取位置元素定位语义

从页面上抓取元素位置,赋值给指定 变量名。使用指定的 元素定位语义 抓取位置进行操作,此处常用基本操作中的拖拽语法进行位置变更。标点符号均为英文符号。

点赞坐标=获取位置点赞  //抓取点赞元素位置,赋值给点赞坐标变量
评论坐标=700,300  //把(700,300)坐标值直接赋值给变量进行使用

请求获取变量赋值

语法:变量名=请求#链接

有些时候需要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

数字计算

简单计算语法,可进行数字的加减乘除。

结果1=99+1  //结果1被赋值为100
结果2=-10-5  //结果2被赋值为-15
结果3=3*5  //结果3被赋值为15
结果4=${结果2}/${结果4}  //结果4被赋值为-1

随机数变量

语法:${time}

简单随机数语法,变量名为time的变量值为当前的秒级日期显示(非timestamp)。

在评论输入框输入到此一游${time} //将会输入:到此一游201809011230

时间格式统一

语法:转化时间格式#目标时间

将任意时间转化为 年-月-日 时 :分 :秒 的格式,目标时间 必须使用变量,目标不全时会自动补全。

时间=20220110202423
时间=转化时间格式#${时间}  //时间被赋值为2022-01-10 20:24:23
时间=12:12
时间=转化时间格式#${时间}  //时间被赋值为当年-当月-当日 12:12:00
时间=2022-01-10
时间=转化时间格式#${时间}  //时间被赋值为2022-01-10 00:00:00

日期计算

语法1:跳板目标时间 日增加#/月增加#/年增加#计算量

跳板目标时间 进行年月日加减计算,跳板目标时间 需要符合时间格式统一后的时间格式

时间=2022-01-31 20:24:23    //可通过转化时间格式语法对格式进行统一,详见上一语法
时间=${时间}日增加#1   //时间被赋值为2022-02-01 20:24:23
时间=${时间}月增加#-2  //时间被赋值为2021-12-01 20:24:23
时间=${时间}年增加#3   //时间被赋值为2024-12-01 20:24:23

变量切割

语法:${待切割变量名} 切割语法

具体切割语法如下所示:

商品名=自营雅培奶粉similac 3段
存在${商品名}("自营","0") //存在雅培奶粉similac 3段
存在${商品名}["0","similac") //存在自营雅培奶粉
存在${商品名}("0","similac"] //存在营雅培奶粉similac
存在${商品名}("1","5"] //存在雅培奶粉

语法:#宏 宏文件名.mtxt <参数1> <参数2>

用法详见宏的封装

results matching ""

    No results matching ""