hallo all,
i got error java.lang.ArrayIndexOutOfBoundsException: 28 after run a feature file.
my feature file is :
#Author: your.email@your.domain.com
#Keywords Summary :
#Feature: List of scenarios.
#Scenario: Business rule through list of steps with arguments.
#Given: Some precondition step
#When: Some key actions
#Then: To observe outcomes or validation
#And,But: To enumerate more Given,When,Then steps
#Scenario Outline: List of steps for data-driven as an Examples and
#Examples: Container for s table
#Background: List of steps run before each of the scenarios
#“”" (Doc Strings)
#| (Data Tables)
#@ (Tags/Labels):To group Scenarios
#<> (placeholder)
#“”
(Comments)
#Sample Feature Definition Template
@tag
Feature: Order
I want to use this template for my feature file
@tag1
Scenario: Order with gopay
Given I am already Login
When I am open Product page
And I click 1-Click checkout
And I click change payment
And I choose qris
And I choose courier
And I click Confirm & Pay
Then Succesfully create order
And Close Browser
and my step definition
package common
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.annotation.Keyword
import com.kms.katalon.core.checkpoint.Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testcase.TestCaseFactory
import com.kms.katalon.core.testdata.TestData
import com.kms.katalon.core.testdata.TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable
import org.openqa.selenium.WebElement
import org.openqa.selenium.WebDriver
import org.openqa.selenium.By
import com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.testobject.ResponseObject
import com.kms.katalon.core.testobject.ConditionType
import com.kms.katalon.core.testobject.TestObjectProperty
import com.kms.katalon.core.mobile.helper.MobileElementCommonHelper
import com.kms.katalon.core.util.KeywordUtil
import com.kms.katalon.core.webui.exception.WebElementNotFoundException
import cucumber.api.java.en.And
import cucumber.api.java.en.Given
import cucumber.api.java.en.Then
import cucumber.api.java.en.When
class CommonOrder {
/**
* The step definitions below match with Katalon sample Gherkin steps
*/
String method = new String()
String total = new String()
@When("I am open Product page")
def I_am_open_product_page() {
WebUI.navigateToUrl(GlobalVariable.product_url)
WebUI.delay(5)
}
@And("I click 1-Click checkout")
def I_click_checkout() {
WebUI.click(findTestObject('Product/button_1-Click_Checkout'))
WebUI.delay(5)
}
@And("I click change payment")
def I_click_change_payment(){
WebUI.click(findTestObject('Payment/button_change'))
}
@And("I choose courier")
def i_choose_courier() {
WebUI.click(findTestObject('Payment/Page_Cart/div_Select_Courier'))
WebUI.delay(5)
WebUI.click(findTestObject('Payment/Page_Cart/div_first_courier'))
WebUI.delay(5)
}
@And("I click Confirm & Pay")
def i_click_confirm() {
total = WebUI.getText(findTestObject('Payment/Page_Cart/div_total_price')).trim()
method = WebUI.getText(findTestObject('Payment/payment_method')).trim()
method = method.toUpperCase()
WebUI.click(findTestObject('Payment/Page_Cart/button_ConfirmPay'))
WebUI.delay(3)
}
@Then("Succesfully create order")
def succesfully_create_order() {
WebUI.verifyElementVisible(findTestObject('Payment/Page_QRIS/Label_complete_your_payment'))
WebUI.verifyEqual(WebUI.getText(findTestObject('Payment/Page_QRIS/span_method')).trim(), method)
WebUI.verifyEqual(WebUI.getText(findTestObject('Payment/Page_QRIS/Label_Total_Payment')).trim(), total)
WebUI.delay(5)
}
@And("Order Complete")
def order_complete(){
WebUI.delay(10)
}
}
class OrderQris {
/**
* The step definitions below match with Katalon sample Gherkin steps
*/
@And(“I choose qris”)
def I_choose_qris() {
WebUI.click(findTestObject(‘Payment/radio_QRIS_qr’))
}
}
how to solve the error? i think no problem with my gherkin file