1、为什么选择Katalon?
Katalon用户甚至不需要任何编程基础,只需要知道自己想做什么即可,而webdriver的用户群体是开发或者测试人员;
Katalon是一个非常易用的图形化的工具,是免费的,并且是免安装版本,下载解压就能直接使用。而webdriver需要安装运行环境、语言驱动等等较为繁琐的步骤;
使用过程:webdriver 和Katalon都需要查询API文档以找到自己想要实现的功能;
专业人员通过webdriver 可以完成各种复杂的功能。Katalon也可以,Katalon用的是Groovy作为其脚本开发语言;
性能方面,Katalon比Selemium差一点;
Katalon提供了Spy和Record两个让构建测试变得异常简单的神级功能,以及很多内建的非常实用的功能(比如从文件、数据库等数据源获取数据填充到测试变量中)。
2、安装和启动
下载Katalon:https://www.katalon.com/
选择版本
解压,单击katalon.exe
注册设置
3、创建项目
4、添加元素到对象库(元素识别)
Xpath:
绝对路径:/html/body/table[2]/tbody/tr[1]/td[2]/input
弊端?
相对路径:
单个条件:
//input[@name="uid"]
多个条件:
//input[@type="text"][@name="uid"]
使用or 与 and
//input[@type="text" and @name="uid" ]
模糊匹配模式:
//td[text()="UserID"]
//td[starts-with(text(),"Us")]
//td[contains(text(),"Us")]
//input[contains(@name,"uid")]
Xpath高级定位方法——xpath轴(XPath Axes)可定义某个相对于当前节点的节点集:
1、child 选取当前节点的所有子元素
2、parent 选取当前节点的父节点
3、descendant 选取当前节点的所有后代元素(子、孙等)
4、ancestor 选取当前节点的所有先辈(父、祖父等)
5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
7、preceding-sibling 选取当前节点之前的所有同级节点
8、following-sibling 选取当前节点之后的所有同级节点
9、preceding 选取文档中当前节点的开始标签之前的所有节点
10、following 选取文档中当前节点的结束标签之后的所有节点
11、self 选取当前节点
12、attribute 选取当前节点的所有属性
13、namespace 选取当前节点的所有命名空间节点
例子:
//*[@type='text']//following::input 定位type属性值为text后的所有input元素
如何定位type属性值为text后的第一个input元素?
//*[@type='text']//following::input[1]
注意:下标从1开始
定位当前元素所有先辈节点
//*[@type='submit']//ancestor::table
定位当前元素parent
//*[@type='submit']//parent::td
Frame中的元素识别:
https://api-docs.katalon.com/index.html
如何应对功能需求的变化莫测
大招:运用spy,切换到元素对应页面,对元素做回炉
重新修改xpath语句即可,代码逻辑不用修改。