katalon 安装,录制,执行简单Web脚本
小编不才,昨天写的文章没保存,弄丢了!今天重新写一个。废话不多说,直接转正题!
目录
- 下载 katalon
- 注册 katalon
- 录制脚本
- 编辑脚本
- 运行脚本
- 分析结果
这个目录写的好丑,但是能说明我都做了啥!
下载 katalon
- 打开 katalon 官网地址: https://www.katalon.com/
- 点击红框中的其中一个。
- katalon 会让你注册一个账号,这个账号用来下载,激活 katalon 的,而且还是 免费的!
- 输入你的名字,邮箱,登录密码!就可以注册了,
- 注册成功之后进入下载界面。
- 选择你的系统,下载适合你系统的安装包点击下载
- 我下载的是Windwos 64bit 的,其他系统要按照自己的系统下载!
- 不管下载那个,先下载下来再说,保证没下载错系统就行了!
- 下载完成后是这个样子的!
- 解压:解压到任意路径,解压的路径就是程序的安装路径,所有解压的路径一定要慎重选择!
是的,没错,没有安装程序,没有选择安装路径,没有下一步,软件直接就能运行!
激活 katalon
- 双击 katalon.exe 进入注册界面!
- 输入刚刚注册的邮箱,登录密码就能完成激活了!
- 输入刚刚注册的邮箱,登录密码就能完成激活了!
- 激活成功之后进入欢迎界面,有兴趣的可以点击看看!
- 关闭激活界面 会有一个引导界面,就是教你怎么使用这个软件。
- 这个界面的内容我在后面都写了,可以看看他的,也可以看我的!
、
- 这个界面的内容我在后面都写了,可以看看他的,也可以看我的!
到这里了,我声明一下,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 系统!
录制脚本
- 录制脚本之前应该新建一个项目
- 路径 File→New→Project
- 路径 File→New→Project
- 点击了Project 就能看到下面界面了
标签 | 作用 |
---|---|
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
-
录制完成后点击OK
-
提示你保存的对象都有什么!
红色的是表示已经存在的对象,不用关心,直接选择Replace existing objects 就行了,反正也用几毫秒!
- 点击OK后提示你创建一个 Test Case (测试用例)
|标签|作用|
|–|--|
|name|测试用例的名字|
|Description|用例描述|
|tag|用例属于那个标签|
点击 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'))
- 参数化脚本
- 点击 Variables → Add
- 点击 Variables → Add
No. | name | Type | Default Value | Description |
---|---|---|---|---|
编号 | 变量名称 | 数据类型 | 默认值 | 描述 |
有关参数化的讲解后续会将……
- 等待时间
katalon 有好多等待时间,详细的我会后续介绍……
// 设置等待时间
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
- 路径在Test Suites 右键 → New → Test Suites
输入名称 , 描述
- 路径在Test Suites 右键 → New → Test Suites
- 添加测试用例 test Case
把想要运行的测试用例添加进来!
- Test Suites 页面
前置函数,后置函数后续介绍……
- 运行Test Suites
打开 Test Suites 点击运行即可!
分析结果
系统会自动保存结果到Reports下面
- 分析运行结果
记录了那个用例成功,那个用例失败。系统信息,运行日志等。详细的后续介绍……
总结
做到这里相信已经对katalon有一个初步的了解!
后面我会根据官网写一些其他使用方式!包括踩过的坑!
本文章根据katalon官网编写,如有雷同纯属巧合,绝非抄袭!!!