Iām new to custom things like this but I think Iām having a similar problem. Iām trying to have my test determine if an element has a CSS attribute (border color) and if it does, to continue to verify that color and if not, to end the test by closing the browser. But every time it runs in a situation where the element doesnāt have that attribute, it fails because of it instead of following the statement telling it to close the browser if it returns false.
The relevant part is the last if/else statements toward the bottom.
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.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
WebUI.openBrowser(GlobalVariable.baseurl, FailureHandling.CONTINUE_ON_FAILURE)
WebUI.setViewPortSize(1600, 1200, FailureHandling.CONTINUE_ON_FAILURE)
CustomKeywords.'project.ProjectUtils.addItemToCart'()
WebUI.navigateToUrl(GlobalVariable.baseurl + '/checkout/cart')
WebUI.waitForPageLoad(30)
title = WebUI.getWindowTitle()
if (title == 'Your Cart is Empty') {
CustomKeywords.'project.ProjectUtils.addItemToCart'()
WebUI.navigateToUrl(GlobalVariable.baseurl + '/checkout/cart')
WebUI.verifyElementVisible(findTestObject('pageCart/cartContainer'), FailureHandling.CONTINUE_ON_FAILURE)
WebUI.verifyElementVisible(findTestObject('pageCart/heading'), FailureHandling.CONTINUE_ON_FAILURE)
WebUI.waitForElementClickable(findTestObject('pageCart/discountSectionName'), 60)
WebUI.click(findTestObject('pageCart/discountSectionName'), FailureHandling.STOP_ON_FAILURE)
WebUI.waitForElementVisible(findTestObject('pageCart/discountEnterText'), 30)
WebUI.verifyElementVisible(findTestObject('pageCart/discountEnterText'))
WebUI.setText(findTestObject('pageCart/discountInputField'), 'invalidcode')
WebUI.click(findTestObject('pageCart/discountApplyButton'))
WebUI.waitForElementVisible(findTestObject('pageCart/invalidDiscountMsg'), 30)
WebUI.verifyElementText(findTestObject('pageCart/invalidDiscountMsg'), 'Please enter a valid discount code.')
WebUI.verifyElementHasAttribute(findTestObject('pageCart/discountInputField'), 'border-color', 10, FailureHandling.OPTIONAL)
}
else {
WebUI.verifyElementVisible(findTestObject('pageCart/cartContainer'), FailureHandling.CONTINUE_ON_FAILURE)
WebUI.verifyElementVisible(findTestObject('pageCart/heading'), FailureHandling.CONTINUE_ON_FAILURE)
WebUI.waitForElementClickable(findTestObject('pageCart/discountSectionName'), 60)
WebUI.click(findTestObject('pageCart/discountSectionName'), FailureHandling.STOP_ON_FAILURE)
WebUI.waitForElementVisible(findTestObject('pageCart/discountEnterText'), 30)
WebUI.verifyElementVisible(findTestObject('pageCart/discountEnterText'))
WebUI.setText(findTestObject('pageCart/discountInputField'), 'invalidcode')
WebUI.click(findTestObject('pageCart/discountApplyButton'))
WebUI.waitForElementVisible(findTestObject('pageCart/invalidDiscountMsg'), 30)
WebUI.verifyElementText(findTestObject('pageCart/invalidDiscountMsg'), 'Please enter a valid discount code.')
}
if (WebUI.verifyElementHasAttribute(findTestObject('pageCart/discountInputField'), 'border-color', 20) == false)
{
WebUI.closeBrowser
}
else {
def borderColor = WebUI.getCSSValue(findTestObject('pageCart/discountInputField'), 'border-color')
println(borderColor)
WebUI.verifyEqual('rgb(237, 131, 128)', borderColor)
WebUI.closeBrowser
}
And here is the log after being run in a browser where the discountInputField element does not have the border color attribute.
2019-11-29 00:33:13.982 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2019-11-29 00:33:13.988 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/cartBadDiscountCode
2019-11-29 00:33:14.906 DEBUG testcase.cartBadDiscountCode - 1: openBrowser(baseurl, CONTINUE_ON_FAILURE)
2019-11-29 00:33:15.387 INFO c.k.k.core.webui.driver.DriverFactory - Starting 'Firefox (headless)' driver
Nov 29, 2019 12:33:15 AM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
2019-11-29 00:33:15.593 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 seconds
1575009197593 mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-headless" "-foreground" "-no-remote" "-profile" "C:\\Users\\jpalmer\\AppData\\Local\\Temp\\rust_mozprofile.Lcxwf72cDFwf"
*** You are running in headless mode.
1575009198030 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1575009198030 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1575009198030 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1575009198030 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can't find profile directory.
1575009200038 Marionette INFO Listening on port 60383
1575009200209 Marionette WARN TLS certificate errors will be ignored for this session
1575009200216 Marionette INFO Proxy settings initialised: {"proxyType":"direct"}
Nov 29, 2019 12:33:20 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2019-11-29 00:33:20.343 INFO c.k.k.core.webui.driver.DriverFactory - sessionId = 3d7d1bfa-2546-45fe-ab3b-90d78e7bce53
2019-11-29 00:33:20.372 INFO c.k.k.core.webui.driver.DriverFactory - browser = Firefox 70.0
2019-11-29 00:33:20.373 INFO c.k.k.core.webui.driver.DriverFactory - platform = Windows 10
2019-11-29 00:33:20.374 INFO c.k.k.core.webui.driver.DriverFactory - seleniumVersion = 3.141.59
2019-11-29 00:33:20.375 INFO c.k.k.core.webui.driver.DriverFactory - proxyInformation = ProxyInformation{proxyOption=NO_PROXY, proxyServerType=HTTP, password=, proxyServerAddress=, proxyServerPort=0}
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
2019-11-29 00:33:26.701 DEBUG testcase.cartBadDiscountCode - 2: setViewPortSize(1600, 1200, CONTINUE_ON_FAILURE)
2019-11-29 00:33:26.803 DEBUG testcase.cartBadDiscountCode - 3: project.projectUtils.addItemToCart()
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript error: https://staging.project.com/pub/static/version1574959773/frontend/Scottsbase/project/en_US/requirejs/require.js, line 166: Error: Script error for: MutationObserver
http://requirejs.org/docs/errors.html#scripterror
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
2019-11-29 00:33:42.822 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - project.projectUtils.addItemToCart is PASSED
2019-11-29 00:33:42.822 DEBUG testcase.cartBadDiscountCode - 4: navigateToUrl(baseurl + "/checkout/cart")
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript error: https://staging.project.com/checkout/cart, line 98: ReferenceError: project is not defined
JavaScript error: https://staging.project.com/checkout/cart, line 776: SyntaxError: invalid escape sequence
2019-11-29 00:33:45.521 DEBUG testcase.cartBadDiscountCode - 5: waitForPageLoad(30)
2019-11-29 00:33:45.686 DEBUG testcase.cartBadDiscountCode - 6: title = getWindowTitle()
2019-11-29 00:33:45.709 DEBUG testcase.cartBadDiscountCode - 7: if (title == "Your Cart is Empty")
2019-11-29 00:33:45.711 DEBUG testcase.cartBadDiscountCode - 8: else
2019-11-29 00:33:45.712 DEBUG testcase.cartBadDiscountCode - 1: verifyElementVisible(findTestObject("pageCart/cartContainer"), CONTINUE_ON_FAILURE)
2019-11-29 00:33:45.973 DEBUG testcase.cartBadDiscountCode - 2: verifyElementVisible(findTestObject("pageCart/heading"), CONTINUE_ON_FAILURE)
2019-11-29 00:33:46.254 DEBUG testcase.cartBadDiscountCode - 3: waitForElementClickable(findTestObject("pageCart/discountSectionName"), 60)
2019-11-29 00:33:46.742 DEBUG testcase.cartBadDiscountCode - 4: click(findTestObject("pageCart/discountSectionName"), STOP_ON_FAILURE)
2019-11-29 00:33:47.402 DEBUG testcase.cartBadDiscountCode - 5: waitForElementVisible(findTestObject("pageCart/discountEnterText"), 30)
2019-11-29 00:33:47.701 DEBUG testcase.cartBadDiscountCode - 6: verifyElementVisible(findTestObject("pageCart/discountEnterText"))
2019-11-29 00:33:47.956 DEBUG testcase.cartBadDiscountCode - 7: setText(findTestObject("pageCart/discountInputField"), "invalidcode")
2019-11-29 00:33:48.219 DEBUG testcase.cartBadDiscountCode - 8: click(findTestObject("pageCart/discountApplyButton"))
JavaScript error: https://staging.project.com/pub/static/version1574959773/frontend/Scottsbase/project/en_US/requirejs/require.js, line 166: Error: Script error for: Magento_Checkout/js/model/default-validation-rules
http://requirejs.org/docs/errors.html#scripterror
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript warning: https://assets.adobedtm.com/launch-ENdc5122c796634d54be3363c5024a184f.min.js, line 7: Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL creation failed:
* Can't use WebGL in headless mode (https://bugzil.la/1375585).
JavaScript error: https://staging.project.com/checkout/cart, line 767: SyntaxError: invalid escape sequence
2019-11-29 00:33:51.975 DEBUG testcase.cartBadDiscountCode - 9: waitForElementVisible(findTestObject("pageCart/invalidDiscountMsg"), 30)
2019-11-29 00:33:52.115 DEBUG testcase.cartBadDiscountCode - 10: verifyElementText(findTestObject("pageCart/invalidDiscountMsg"), "Please enter a valid discount code.")
2019-11-29 00:33:52.309 DEBUG testcase.cartBadDiscountCode - 9: if (verifyElementHasAttribute(findTestObject("pageCart/discountInputField"), "border-color", 20) == false)
2019-11-29 00:33:52.806 ERROR c.k.k.core.keyword.internal.KeywordMain - ā Object 'Object Repository/pageCart/discountInputField' does not have attribute 'border-color' (Root cause: com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/pageCart/discountInputField' does not have attribute 'border-color'
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword$_verifyElementHasAttribute_closure1.doCall(VerifyElementHasAttributeKeyword.groovy:89)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword$_verifyElementHasAttribute_closure1.call(VerifyElementHasAttributeKeyword.groovy)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword.verifyElementHasAttribute(VerifyElementHasAttributeKeyword.groovy:100)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword.execute(VerifyElementHasAttributeKeyword.groovy:69)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:60)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementHasAttribute(WebUiBuiltInKeywords.groovy:3182)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyElementHasAttribute$12.call(Unknown Source)
at cartBadDiscountCode.run(cartBadDiscountCode:82)
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:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1575009190565.run(TempTestCase1575009190565.groovy:23)
)
2019-11-29 00:33:52.809 DEBUG testcase.cartBadDiscountCode - 1: closeBrowser
2019-11-29 00:33:52.812 ERROR c.k.katalon.core.main.TestCaseExecutor - ā Test Cases/cartBadDiscountCode FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/pageCart/discountInputField' does not have attribute 'border-color' (Root cause: com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/pageCart/discountInputField' does not have attribute 'border-color'
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword$_verifyElementHasAttribute_closure1.doCall(VerifyElementHasAttributeKeyword.groovy:89)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword$_verifyElementHasAttribute_closure1.call(VerifyElementHasAttributeKeyword.groovy)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword.verifyElementHasAttribute(VerifyElementHasAttributeKeyword.groovy:100)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword.execute(VerifyElementHasAttributeKeyword.groovy:69)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:60)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementHasAttribute(WebUiBuiltInKeywords.groovy:3182)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyElementHasAttribute$12.call(Unknown Source)
at cartBadDiscountCode.run(cartBadDiscountCode:82)
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:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1575009190565.run(TempTestCase1575009190565.groovy:23)
)
at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:39)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword$_verifyElementHasAttribute_closure1.doCall(VerifyElementHasAttributeKeyword.groovy:89)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword$_verifyElementHasAttribute_closure1.call(VerifyElementHasAttributeKeyword.groovy)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword.verifyElementHasAttribute(VerifyElementHasAttributeKeyword.groovy:100)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementHasAttributeKeyword.execute(VerifyElementHasAttributeKeyword.groovy:69)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:60)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementHasAttribute(WebUiBuiltInKeywords.groovy:3182)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyElementHasAttribute$12.call(Unknown Source)
at cartBadDiscountCode.run(cartBadDiscountCode:82)
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:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1575009190565.run(TempTestCase1575009190565.groovy:23)
Caused by: com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/pageCart/discountInputField' does not have attribute 'border-color'
... 20 more