Katalon Studio 运行过程中创建一个自定义元素对象,例如:定位到列表中某个用户名。

1. 假设现在要写一个业务流程脚本:添加了一个新用户,然后在列表中点击这个用户,进行下一步操作。

用户id    姓名    xxx    xxx    xxx

10001   张三    xxx    xxx    xxx

10002   李四    xxx    xxx    xxx

10003   王五    xxx    xxx    xxx

在录制脚本过程中,类似于上面这个页面表单,我只能录制到张三这个元素的text="张三"。但实际测试过程中,我们每次添加的用户名字都不相同。如果是selenium的话直接XPath的内容参数化即可,但是Katalon呢?它都是把元素封装在对象仓库。

 

2.其实Katalon也是支持的,官方文档给出了解决方案。 

http://docs.katalon.com/display/KD/Creation+of+Test+Object+in+Object+Repository+in+Runtime

 

3.根据例子实际代码可以这么写,当然如果有其他属性如id之类的也是传进方法里。

import com.kms.katalon.core.testobject.ConditionType

//创建一个名为user_name的元素对象
static TestObject user_name(String text) {
    TestObject user = new TestObject()
    user.addProperty("text", ConditionType.EQUALS, text)
    return user
}

 

4.因为写的方法直接返回的是一个元素对象,所以可以直接使用,不需要再findTestObject()了。

//直接作为一个元素对象来使用
WebUI.click(user_name("张三"))

 

5.这样脚本运行起来之后,user_name("张三"),就会去定位一个text="张三"的元素了。

*拿自动化脚本造测试数据也挺方便的安静

 

更新一下

之前是根据官网里推荐的写法,我自己也发现一个更简单的写法。

1. 将录制的元素对象中,固定的属性保留,如tag。可能会变化的text 勾去掉。

 

2.在脚本中。直接给这个元素添加一个text属性。

 

3.如果只需要一个属性就能定位到元素。那可以直接new一个元素对象。

WebUI.click(new TestObject().addProperty("text", ConditionType.EQUALS, "老师管理"))

WebUI.setText(new TestObject().addProperty("xpath", ConditionType.EQUALS, "你的xpath表达式"), '张三')

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值