Katalon Studio录制回放功能使用介绍

2018年7月19日 3.69k 次阅读 18 条评论 4 人点赞

写在前面

Katalon Studio提供了Record & Playback功能让自动化测试变得十分简单,该功能和UFT(QTP)的录制回放功能大同小异。这项功能可以让编码能力比较弱的同学做起自动化测试来得心应手。Record & Playback功能可以快速创建和运行测试脚本。同样,对于经验丰富的自动化测试人员来说,该功能可以快速生成测试用例的内容。本篇文章主要介绍UI自动化测试关于Katalon Studio的Record & Playback功能的使用。备注:博主使用Katalon Studio当前最新版本:5.5.0

新建测试项目

打开 Katalon Studio工具,点击File--New--Project,创建新项目;Katalon Studio会自动初始化生成一系列的工程目录文件;操作详情如下图所示:

Katalon_Studio_record1

输入项目名称,选择项目存储路径,可以备注项目的描述:

Katalon_Studio_record2

项目建立成功,自动生成项目架构:

Katalon_Studio_record3

新建一个测试用例(Test case),先新建立一个测试用例,这样在录制完成保存的时候,可以直接把操作步骤保存在该测试案例上。

Katalon_Studio_record4

录制脚本

通过Record Web功能自动录取测试脚本。录取结束以后可以直接回放实现执行测试案例;

演示操作内容如下:
- 打开测试用例testclass_cn
- 点击Record Web
- 输入需要打开的网址www.baidu.com
- 驱动Chrome浏览器
- 点击Start
- 打开百度首页
- 在查询输入框里输入www.testclass.cn
- 确认搜索
- 展示搜索结果
- 进入www.testclass.cn首页

Katalon_Studio_record5

输入网址,选择浏览器,点击浏览器,开始执行录制:

Katalon_Studio_record6

打开百度首页,在查询输入框里输入www.testclass.cn,点击[百度一下],展示搜索结果:

Katalon_Studio_record7

选中查询结果中的第一条目标链接,进入www.testclass.cn主页:

Katalon_Studio_record8

点击[OK],录制停止,选择需要保存的元素,默认重复的元素(元素属性值相同)只保存一个:

Katalon_Studio_record9

测试操作步骤保存成功,元素保存成功:

Katalon_Studio_record10

回放脚本

按照以上步骤录制完脚本并且保存以后,选中测试案例,点击执行回放测试脚本。

Katalon_Studio_record11

风里云里,我在这里等你!

文章评论(18)

  • angel

    我遇到这种求这个怎么解决
    Reason:
    com.kms.katalon.core.exception.StepFailedException: Unable to open browser with url: ''
    at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
    at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)
    at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.openBrowser(OpenBrowserKeyword.groovy:81)
    at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.execute(OpenBrowserKeyword.groovy:67)
    at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)
    at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.openBrowser(WebUiBuiltInKeywords.groovy:60)
    at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$openBrowser.call(Unknown Source)
    at New Test Case (3).run(New Test Case (3):17)
    at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
    at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
    at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
    at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
    at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
    at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
    at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
    at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
    at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
    at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
    at TempTestCase1568106297646.run(TempTestCase1568106297646.groovy:21)
    Caused by: java.lang.IllegalStateException: The driver executable does not exist: E:\katalon\???????\Katalon_Studio_Windows_64-6.3.3\configuration\resources\drivers\firefox_win64\geckodriver.exe
    at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
    at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:146)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:141)
    at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:44)
    at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:167)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
    at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:147)
    at com.kms.katalon.selenium.driver.CFirefoxDriver.<init>(CFirefoxDriver.java:21)
    at com.kms.katalon.core.webui.driver.firefox.CGeckoDriver.<init>(CGeckoDriver.java:12)
    at com.kms.katalon.core.webui.driver.firefox.CGeckoDriver.from(CGeckoDriver.java:17)
    at com.kms.katalon.core.webui.driver.DriverFactory.createNewFirefoxDriver(DriverFactory.java:510)
    at com.kms.katalon.core.webui.driver.DriverFactory.startNewBrowser(DriverFactory.java:276)
    at com.kms.katalon.core.webui.driver.DriverFactory.openWebDriver(DriverFactory.java:199)
    at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword$_openBrowser_closure1.doCall(OpenBrowserKeyword.groovy:74)
    at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword$_openBrowser_closure1.call(OpenBrowserKeyword.groovy)
    at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
    ... 17 more

    2019年9月10日
    • Altumn

      webdriver驱动版本和浏览器不一致。

      2019年9月10日
  • helloword

    2019-08-13 09:43:15.873 ERROR c.k.k.core.keyword.internal.KeywordMain - ❌ Unable to open browser with url: '' (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to open browser with url: ''

    2019年8月13日
  • 啦啦啦

    你好,我用katalon进行WebUI.openBrowser('tms.haimaiche.net');然后就报错。请问这个是什么原因,错误附上。
    Test Cases/Open_Url FAILED.
    Reason:
    com.kms.katalon.core.exception.StepFailedException: Unable to open browser with url: 'tms.haimaiche.net'
    at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
    at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)
    at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.openBrowser(OpenBrowserKeyword.groovy:81)
    at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.execute(OpenBrowserKeyword.groovy:67)
    at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)
    at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.openBrowser(WebUiBuiltInKeywords.groovy:60)
    at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$openBrowser.call(Unknown Source)

    2019年6月28日
    • Altumn

      url的值传错了,注意格式,例如:https://www.testclass.cn

      2019年6月28日
    • 啦啦啦

      加上了协议头,还是一样的问题

      2019年6月28日
  • 布布

    请教大佬,我们前端是用vue做的,在录制的时候密码框和页面输入框,每键盘敲入一个字就会生成一个object,录入值就是那一个字母,比如要输入一个test,就生成了四个object?这种情况,大佬有没有碰到过?

    2019年4月25日
    • Altumn

      进QQ群交流下:670250199

      2019年4月25日
  • sky

    博主你好,请问下katalon Studio 怎么录制文件上传功能呢,katalon Studio 这款工具有提供文件上传这种关键字吗?

    2018年12月13日
  • 无名

    挺好的

    2018年12月10日
  • 测试小白

    录制成功了 回访一直报打不开浏览器的错误

    2018年11月26日
    • Altumn

      报错信息贴一下,或者截图发邮箱。或者关注公众号后台发截图。

      2018年11月26日
    • kk

      12-04-2018 06:06:34 下午 navigateToUrl("https://www.baidu.com/&quot;)

      Elapsed time: 0.542s

      navigateToUrl("https://www.baidu.com/&quot;) FAILED.
      Reason:
      com.kms.katalon.core.exception.StepFailedException: Unable to navigate to 'https://www.baidu.com/' (Root cause: com.kms.katalon.core.webui.exception.BrowserNotOpenedException: Browser is not opened
      Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
      System info: host: 'PC-20180315IFTO', ip: '10.240.250.151', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_181'
      Driver info: driver.version: unknown)
      at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:36)
      at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:65)
      at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:27)
      at com.kms.katalon.core.webui.keyword.builtin.NavigateToUrlKeyword.navigateToUrl(NavigateToUrlKeyword.groovy:83)
      at com.kms.katalon.core.webui.keyword.builtin.NavigateToUrlKeyword.execute(NavigateToUrlKeyword.groovy:67)
      at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:53)
      at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.navigateToUrl(WebUiBuiltInKeywords.groovy:183)
      at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$navigateToUrl.call(Unknown Source)
      at test.run(test:16)
      at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
      at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
      at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:321)
      at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:312)
      at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:291)
      at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:283)
      at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:222)
      at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:106)
      at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:97)
      at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
      at TempTestCase1543917990335.run(TempTestCase1543917990335.groovy:22)

      2018年12月4日
      • lili

        我也遇到了同样的问题,请问你是咋解决的啊?

        2019年6月10日
  • 测试小白

    请问下大佬,Katalon Studio工具能二次开发 编写脚本吗,比如 我录制项目过程中,对于浏览器alert弹窗这种通过录制了回放有问题的,怎么去编写脚本修改呢

    2018年11月14日
    • Altumn

      你好,可以二次开发脚本,有以下几个方法可以达到你的目的;
      1:自己封装关键字调用;
      2:直接在Script tab模式编写脚本;
      3:Manual tab模式通过调取工具本身封装的方法;
      详细见文章https://www.testclass.cn/katalon_studio_start.html中介绍,Script tab模式可以直接编写脚本;

      2018年11月15日