其他分享
首页 > 其他分享> > katalon 安装,录制,执行简单Web脚本

katalon 安装,录制,执行简单Web脚本

作者:互联网

katalon 安装,录制,执行简单Web脚本

  小编不才,昨天写的文章没保存,弄丢了!今天重新写一个。废话不多说,直接转正题!
目录

  这个目录写的好丑,但是能说明我都做了啥!

下载 katalon

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
  是的,没错,没有安装程序,没有选择安装路径,没有下一步,软件直接就能运行!

激活 katalon

  到这里了,我声明一下,katalon支持的浏览器需要在安装在默认路径下,不然出现下面这个异常

Test Cases/Demo_test_case_No FAILED.
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 Demo_test_case_No.run(Demo_test_case_No:19)
	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:342)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:333)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:312)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:304)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:238)
	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 TempTestCase1555653938286.run(TempTestCase1555653938286.groovy:21)
Caused by: org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: host: '5MRZNF2U2EMZWS9', ip: '192.168.1.199', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'

  顺道在提一下 katalon 支持的浏览器↓

Browsers

Browsers Windows macOS Note
Internet Explorer 9, 10, 11 N/A 使用IE需要进行特殊配置
Microsoft Edge Current N/A R使用Edge浏览器请参考Edge页面
Firefox 56+ 如果你是用Firefox 57+,请下载katalon 5.1+
Google Chrome 58+
Safari 5.1+ 9,10,11

Mobile

Installation Windows macOS Appium Native App support? Hybrid App support?(*) Mobile Browser support?
Android 6.x, 7.x 6.x, 7.x 1.6, 1.7, 1.8 YES NO YES
iOS Not Available 9, 10, 11, 12** 1.6, 1.7, 1.8 YES NO YES

  很遗憾,windows 暂时不支持 IOS 系统!

录制脚本

标签 作用
name 项目的名字
Type 项目类型
API/Web Service:服务器接口测试
Web:web项目项目
Mobile: 移动端测试
Generic :基础测试
project 项目模板
Repository URL 模板路径
Location 保存位置
Description 项目描述

  输入数据,点击OK 就好了!

在这里插入图片描述

在这里插入图片描述

  选择好了浏览器,浏览器会自动打开,鼠标在上面操作会出现红框,代表着正在录制脚本,我就简单录制一个脚本!
   内容: 访问网站,用无效等价类用户名注册一个账号,检查提示提示信息能否正确!

  服务器是我在LR 中Copy中抠出来的 下载地址:
  链接:https://pan.baidu.com/s/1B-u2PCeNjWi0vh4d67xAVg
  提取码:8wog

  红色的是表示已经存在的对象,不用关心,直接选择Replace existing objects 就行了,反正也用几毫秒!
在这里插入图片描述

  点击 OK 你的第一个测试用例就已经创建好了。看下面的图↓

在这里插入图片描述
  

编辑脚本

  脚本有了,但是录制出来的脚本不是很智能,要同过自己编辑才行!
简单编辑一下,参数化,等待时间,断言,!

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys
// 上面的是录制脚本自动添加的,不用管它!

// 打开浏览器
WebUI.openBrowser('')

// 打开文职
WebUI.navigateToUrl('http://127.0.0.1:1080/WebTours/')

// 点击注册按钮
WebUI.click(findTestObject('Page_Web Tours/b_sign up now'))

// 输入用户名
WebUI.setText(findTestObject('Page_Web Tours/input_Username _username'), 'jack_1')

// 输入密码
WebUI.setEncryptedText(findTestObject('Page_Web Tours/input_Password _password'), 'tzH6RvlfSTg=')

// 确认密码
WebUI.setEncryptedText(findTestObject('Page_Web Tours/input_Confirm _passwordConfirm'), 'tzH6RvlfSTg=')

// 点击注册按钮
WebUI.click(findTestObject('Page_Web Tours/input_CityStateZip _register'))

// 点击提示内容 * 这样写会报错,因为div元素不能直接点击!
WebUI.click(findTestObject('Page_Web Tours/font_Your username is invalid  Please re-enter it'))
No. name Type Default Value Description
编号 变量名称 数据类型 默认值 描述

  有关参数化的讲解后续会将……
在这里插入图片描述

// 设置等待时间
WebUI.waitForPageLoad(2000)
/**
等待页面加载时间,隐士等待!就是在2秒内页面加载完就执行操作,剩下的时间不在等待!
如果两秒后页面还是没有加载完也执行后续操作!
*/
// assert 关键字后面给他一个条件表达式 返回值是True 或者False 就好了!
assert err_desc == "Your username is invalid. Please re-enter it.1"
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

// 上面的是录制脚本自动添加的,不用管它!
// 打开浏览器
WebUI.openBrowser('')

// 打开文职
WebUI.navigateToUrl('http://127.0.0.1:1080/WebTours/')

// 点击注册按钮
WebUI.click(findTestObject('Page_Web Tours/b_sign up now'))

// 输入用户名 添加参数化
WebUI.setText(findTestObject('Page_Web Tours/input_Username _username'), Username)

// 输入密码
WebUI.setText(findTestObject('Page_Web Tours/input_Password _password'), password)

// 确认密码
WebUI.setText(findTestObject('Page_Web Tours/input_Confirm _passwordConfirm'), RePassword)

// 点击注册按钮
WebUI.click(findTestObject('Page_Web Tours/input_CityStateZip _register'))

// 设置等待时间
WebUI.waitForPageLoad(2000)

// 点击提示内容 * 这样写会报错,因为div元素不能直接点击!
err_desc = WebUI.getText(findTestObject('Page_Web Tours/font_Your username is invalid  Please re-enter it'))

// 在控制台输出数据
println(err_desc)

// assert 关键字后面给他一个条件表达式 返回值是True 或者False 就好了!
assert err_desc == "Your username is invalid. Please re-enter it."

// 关闭浏览器
WebUI.closeBrowser()

运行脚本

  正常执行的时候,不可能只有一个脚本,需要多个脚本一起执行,我就把那一个脚本复制了多个,No 的是断言失败的,OK是断言成功的。
在这里插入图片描述

在这里插入图片描述

  前置函数,后置函数后续介绍……
在这里插入图片描述

  打开 Test Suites 点击运行即可!
在这里插入图片描述

分析结果

  系统会自动保存结果到Reports下面
在这里插入图片描述

总结

  做到这里相信已经对katalon有一个初步的了解!

  后面我会根据官网写一些其他使用方式!包括踩过的坑!

  本文章根据katalon官网编写,如有雷同纯属巧合,绝非抄袭!!!

标签:Web,core,录制,katalon,kms,WebUI,import,com
来源: https://blog.csdn.net/weixin_43664254/article/details/89393271