Skip to content

Instantly share code, notes, and snippets.

@solanoize
Last active April 15, 2025 14:07
Show Gist options
  • Select an option

  • Save solanoize/967d246f7d9e2d9876cb55c6de32ffdb to your computer and use it in GitHub Desktop.

Select an option

Save solanoize/967d246f7d9e2d9876cb55c6de32ffdb to your computer and use it in GitHub Desktop.
SQA21-PERTEMUAN-28
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 com.kms.katalon.entity.global.GlobalVariableEntity as GlobalVariableEntity
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys
import org.openqa.selenium.WebElement as WebElement
WebUI.delay(1)
'Klik produk sampel pertama'
WebUI.click(findTestObject('Inventory Page/Button Add To Cart Product 1'))
WebUI.delay(1)
'Klik produk sampel ke dua'
WebUI.click(findTestObject('Inventory Page/Button Add To Cart Product 2'))
WebUI.delay(1)
WebUI.executeJavaScript('window.scrollTo(0, 1000)', null)
WebUI.delay(1)
WebUI.executeJavaScript('window.scrollTo(0, -1000)', null)
WebUI.delay(1)
'Memastikan elemen quantity cart muncul'
WebUI.verifyElementPresent(findTestObject('Inventory Page/Quantity'), 1)
'Memastikan cart berjumlah 2, sesuai dengan case pengujian'
WebUI.verifyElementText(findTestObject('Inventory Page/Quantity'), '2')
WebUI.click(findTestObject('Inventory Page/Link Shopping Cart'))
WebUI.delay(5)
TestObject testObj = findTestObject('Your Cart Page/Inventory Item Price')
List<WebElement> itemPrices = WebUI.findWebElements(testObj, 10)
for (int i = 0; i < itemPrices.size(); ++i) {
money = Float.parseFloat(itemPrices.get(i).getText().replaceAll("[^\\d.]", ""));
// print(money);
GlobalVariable.total += money // KeywordUtil.logInfo(elements.get(i).getText()) // def
}
actual = Math.round(GlobalVariable.total * 100) / 100
assert GlobalVariable.totalExpect == actual
// WebUI.click(findTestObject('Inventory Page/Link Shopping Cart'))
WebUI.delay(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 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.delay(1)
'Klik produk sampel pertama'
WebUI.click(findTestObject('Inventory Page/Button Add To Cart Product 1'))
WebUI.delay(1)
'Klik produk sampel ke dua'
WebUI.click(findTestObject('Inventory Page/Button Add To Cart Product 2'))
'Memastikan elemen quantity cart muncul'
WebUI.verifyElementPresent(findTestObject('Inventory Page/Quantity'), 1)
'Memastikan cart berjumlah 2, sesuai dengan case pengujian'
WebUI.verifyElementText(findTestObject('Inventory Page/Quantity'), '2')
'Take screenshot'
WebUI.takeScreenshot("Test/AddToCartTestCase.png")
WebUI.closeBrowser()
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
'Open browser'
WebUI.openBrowser('')
'Navigate to URL source demo'
WebUI.navigateToUrl(GlobalVariable.baseURL)
'Maximize window browser'
WebUI.maximizeWindow()
'Type username using standard_user'
WebUI.setText(findTestObject('Sign In Page/Input Username'), GlobalVariable.usernameStandard)
'Type password using secret_sauce'
WebUI.setText(findTestObject('Sign In Page/Input Password'), GlobalVariable.password)
'Click button signin'
WebUI.click(findTestObject('Sign In Page/Button Login'))
'Verify heading is Products'
WebUI.verifyElementText(findTestObject('Object Repository/Inventory Page/Product Heading'), 'Products')
'Take screenshot'
WebUI.takeScreenshot("Test/SignInTestCase.png")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment