[网页UI]使用记录和回放功能创建和运行网页UI测试用例

本教程演示了如何用Katalon Studio使用 记录回放功能创建网页UI测试用例。

通过场景“登录购物页面购买小背心”来熟悉这些功能。基本步骤是:

  1. 创建一个新项目来存储记录的操作。
  2. 与网页交互。
    • 登录。
    • 买一件背心。
  3. 停止录制并保存脚本。

创建并运行您的第一个网页UI测试用例

创建新项目

  1. 在侧边栏的 测试资源管理器 中 > 点击新建项目

  2. 在显示的 新建项目 对话框中:

    • 输入项目名称

    • 在项目 类型 中,选择 网页

    • 项目中,选择样本网页UI...(购物车)存储库URL会自动填充。

    • 浏览 位置 以存储您的项目 > 点击确定

录制

  1. 在主工具栏中,单击 网页录制功能 图标以打开 Web Recorder。

  2. 在显示的Web Recorder中:

    • 选择浏览器开始录制(推荐使用 Chrome)。

  3. 等待浏览器启动,并准备进行交互。

    悬停一个元素时,浏览器会在页面顶部突出显示该元素的对应XPath。

    提示:您可以使用热键来捕获对象(按 的组合)。捕获的对象将以绿色边框突出显示。

  4. 与网页交互。在这种情况下,我们将登录并购买背心。

    在录制过程中,Katalon Web Recorder 会捕获您与之交互的所有对象。当您输入 密码 字段时,Katalon Web Recorder 会自动使用“设置加密文本”关键字。此输入值将被加密以确保安全。

  5. 一旦您完成购买 > 点击 保存脚本 停止录制并保存捕获的对象。Katalon Web Recorder 会导出测试用例中使用的对象列表。

    创建一个新文件夹或在 目标存储库 中选择一个现有文件夹 > 点击 OK

    Katalon Studio 允许您使用现有测试用例继续录制,以减少修改该用例时的工作量。了解更多

回放

回放录制的场景:

  1. 选择有保存记录操作的测试用例。

  2. 在主工具栏中,选择运行旁边下拉列表中的任意浏览器。

    Katalon Studio将使用记录的步骤相应地执行所选择的测试用例。

在脚本模式中查看测试用例

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 static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
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.testng.keyword.TestNGBuiltinKeywords as TestNGKW
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 com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

WebUI.openBrowser('')

WebUI.navigateToUrl('https://demo-store.katalon.com/')

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/svg_Zack Market_svg-inline--fa fa-user fa-w-14'))

WebUI.setText(findTestObject('Object Repository/shoppingCart/Page_Zack Market/input_Email_email'), 'thuy.ngo@katalon.com')

WebUI.setEncryptedText(findTestObject('Object Repository/shoppingCart/Page_Zack Market/input_Password_password'), 'GklqZBguAPQ=')

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/input_Password_button_btn__2lzmo'))

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/div_All Products_search_auto__TZ-uB'))

WebUI.setText(findTestObject('Object Repository/shoppingCart/Page_Zack Market/input_All Products_auto_input__2ud9e'), 'tank top')

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/span_Tank Top'))

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/img_Clear All_card-img-top'))

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/img'))

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/span_Buy Now'))

WebUI.click(findTestObject('Object Repository/shoppingCart/Page_Zack Market/span_Confirm checkout'))

WebUI.closeBrowser()