zoukankan      html  css  js  c++  java
  • KatalonRecorder系列(一):基本使用+XPath元素定位

    一、简介

    Katalon Recorder是基于selenium的浏览器插件,支持火狐和chrome。可以录制web上的操作并回放,还能导入导出脚本。

    二、安装

    可在谷歌商店或者火狐附件组件中搜索并选择添加完成安装。安装完成后,浏览器右上角会显示Katalon Recorder图标。

     

    三、基本模块

     界面功能如下,主要分为四部分:1_工具栏、2_测试用例集、3_用例编辑区、4_控制台。

    • 1_工具栏:从左至右功能分别为新增用例集、录制、播放、播放用例集、播放全部用例集、暂停、导出、控制回放速度、设置、帮助;
    • 2_测试用例集:提供打开已有用例集、新增/关闭/重命名用例集、在用例集下新增/删除/重命名测试用例;
    • 3_测试用例编辑区:录制后脚本出现在该区域或者可手动编辑。上半部分显示所有的测试用例;某一条用例,则对应显示在下半部分中;提供新增、编辑、复制、粘贴操作;
    • 4_控制台:各页签分别为日志、截屏、变量、数据驱动、拓展脚本、参考;常用日志功能,查看脚本回放是否成功。

    四、XPath语法

    XPath是在一种在XML文档里查找信息的语言。

    XPath相关教程可参考菜鸟教程,以下引用列出较为实用的相关知识点:

    =============================================引用分割线_START===================================================

    XML 实例文档

    <?xml version="1.0" encoding="UTF-8"?>
     
    <bookstore>
     
    <book>
      <title lang="eng">Harry Potter</title>
      <price>29.99</price>
    </book>
     
    <book>
      <title lang="eng">Learning XML</title>
      <price>39.95</price>
    </book>
     
    </bookstore>

    选取节点

    XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:

    谓语(Predicates)

    选取未知节点

    选取若干路径

    =============================================引用分割线_END===================================================

    五、XPath定位方法

     实例1_定位百度搜索框:

    1、标签+属性定位:xpath = "//标签名[@属性='属性值']"

    方式1:通过id属性定位。可分别用://*[@id="kw"]  或 //input[@id="kw"]                                    # *表示所有标签,input为具体标签

    方式2:通过name属性定位。可分别用://*[@name="wd"] 或 //input[@name="wd"]  

    方式3:通过class属性定位。可分别用://*[@class="s_ipt"] 或 //input[@class="s_ipt"]

    以上为最常用的3种属性定位方式,此外还有其他属性,请根据实际情况进行元素定位。

    2、contains()方法定位【也称模糊定位】:xpath = "//标签名[contains(@属性, '属性值')]"

    定位可用://input[contains(@id,"kw")]  或 //input[contains(@name,"wd")]  或 //input[contains(@class,"s_ipt")]      #备注:使用contains()方法模糊定位,标签名必须为具体,若替换为“*”则找不到元素,可自行验证

    3、通过上级元素往下定位

    定位可用://form[@id="form"]/span[contains(@class,"s_ipt_wr")]/input       

    4、text()方法定位:xpath = "//标签名[text()='XXX']"

    实例2_定位文本内容:

    定位可用://*[text()="贴吧"] 或 //a[text()="贴吧"]    

    (备注:此方法在数据的其他属性动态变化时非常实用。如系统新增一条单位数据,每次新增id、class属性值动态变化;为了实现业务流程闭环,删除数据时,只有单位名称固定不变,因此可用text()方法找到这条数据并实现删除操作。)

    六、Katalon Recorder实例相关命令详解

    本节中的实例,旨在熟悉XPath的几种定位方法,并学习Katalon Recorder中相关命令的使用。

    实例业务流:打开登录页面-->输入账号密码点击登录-->打开[单位管理]页面点击新增-->新增页面填写信息并保存-->对新增的单位数据进行删除。

    附上实例相关用例截图:

    截图中用到相关命令详解看下图,更多命令详解请查看其他博文

    重点说明pause、selectFrame这两个命令:

    • pause:增加暂停。在一些数据交互较多的场景中,比如加载订单、搜索等场景,需加载完数据才能进行下一步时,增加暂停时间可使脚本更稳定。时长建议从500毫秒到1500毫秒不等,单位是毫秒。
    • selectFrame:在当前窗体中选择一个框架。当页面存在多个框架时,要定位某个框架中的元素,需先选择这个框架。可使用selectFrame来实现。

    比如要定位这个“单位名称”元素,它在一个frame里,因此需要先选择这个元素所在的frame,才能定位到这个元素:

     

    选择框架(定位器)有几种形式:

    • 选择父框架:relative=parent
    • 选择顶级框架:relative=top
    • 索引方式。通过基于0的索引号选择框架,“index=0”表示选择第一个框架,“index=2”表示选择第三个框架,以此类推...
    • 退出当前框架:relative=up

    =============================================

    选择使用索引方式时,可通过浏览器控制台选择Elements页签,按Ctrl+F打开搜索栏进行搜索“iframe”,按Enter进行切换查看每一个iframe,可查看对应的iframe为第几个框架便可得出索引。

     (备注:selectFrame是在同一个页面选择,selectWindow是在不同的页面之间选择。selectWindow命令后续用到再进行加更!)

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/dnjiang/p/13039276.html
Copyright © 2011-2022 走看看