┌────────────────────────────────────────────────────────────┐
│ File Edit Action Run ... │
├──────────────┬─────────────────────────────────────────────┤
│ Tests │ │
│ Explorer │ Editor principal │
│ │ (Script/Manual/Grabación) │
│ ── Test Cases│ │
│ ── Test Suite│ │
│ ── Object │ │
│ Repository│ │
│ ── Test Data │ │
│ ── Keywords │ │
│ ├─────────────────────────────────────────────┤
│ │ Log / Console / Output │
└──────────────┴─────────────────────────────────────────────┘
3. Crear un proyecto
File → New Project
Nombre: TiendaOnlineTests
Tipo: Web
Ubicación: elegir carpeta
Estructura del proyecto
TiendaOnlineTests/
├── Test Cases/ ← Scripts de prueba
├── Test Suites/ ← Agrupaciones de tests
├── Object Repository/ ← Elementos de la página
├── Test Data/ ← Datos de prueba (Excel, CSV)
├── Keywords/ ← Funciones reutilizables
├── Profiles/ ← Variables de entorno
└── Reports/ ← Resultados de ejecución
4. Grabación de tests
Paso a paso
Clic en Record Web (botón rojo en la barra)
Introducir URL: https://www.saucedemo.com/
Seleccionar navegador: Chrome
Clic en Record
Realizar las acciones en el navegador:
Escribir usuario
Escribir contraseña
Clic en Login
Clic en Stop al terminar
Guardar como: Login_Test
Resultado de la grabación
Katalon genera un test con los pasos grabados:
#
Acción
Objeto
Valor
1
Open Browser
https://www.saucedemo.com/
2
Set Text
input_Username
standard_user
3
Set Text
input_Password
secret_sauce
4
Click
btn_Login
5
Verify Element Present
div_Products
5. Object Repository
Concepto
El Object Repository es un almacén centralizado de todos los elementos web con los que interactúan tus tests.
importcom.kms.katalon.core.testdata.TestDataFactoryasTestDataFactoryimportinternal.GlobalVariable// Cargar datosdefloginData=TestDataFactory.findTestData('LoginData')// Iterar por cada filafor(introw=1;row<=loginData.getRowNumbers();row++){Stringusername=loginData.getValue('username',row)Stringpassword=loginData.getValue('password',row)Stringexpected=loginData.getValue('expected',row)WebUI.openBrowser('https://www.saucedemo.com/')WebUI.setText(findTestObject('Pages/LoginPage/input_Username'),username)WebUI.setText(findTestObject('Pages/LoginPage/input_Password'),password)WebUI.click(findTestObject('Pages/LoginPage/btn_Login'))WebUI.verifyTextPresent(expected,false)WebUI.closeBrowser()}
Test Suite con datos
Crear Test Suite → LoginSuite
Añadir test case Login_Test
En la configuración del test, activar Data Binding