小编不才,昨天写的文章没保存,弄丢了!今天重新写一个。废话不多说,直接转正题!
目录
这个目录写的好丑,但是能说明我都做了啥!
是的,没错,没有安装程序,没有选择安装路径,没有下一步,软件直接就能运行!
到这里了,我声明一下,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 | 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 |
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是断言成功的。
做到这里相信已经对katalon有一个初步的了解!
后面我会根据官网写一些其他使用方式!包括踩过的坑!
本文章根据katalon官网编写,如有雷同纯属巧合,绝非抄袭!!!