Single test not repeated when executed via command line

I have a test suite with a single test case and I’m trying to execute it 5 times in a row.

However, test runs only once.

This is what I have in the log:


This is a continuation of log file C:\Program Files\Katalon\Katalon_Studio_Windows_64-5.4\config\.metadata\.bak_0.log
Created Time: 2018-07-10 13:32:03.225
!SESSION 2018-07-10 13:32:01.151 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_102
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -runMode=console -projectPath=C:\path_to_project.prj -retry=5 -retryFailedTestCases=false -testSuitePath=Test Suites/TS01 Warm up -executionProfile=default -browserType=Chrome (headless)
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -data config -runMode=console -consoleLog -projectPath=C:\path_to_project.prj -retry=5 -retryFailedTestCases=false -testSuitePath=Test Suites/TS01 Warm up -executionProfile=default -browserType=Chrome (headless)
!ENTRY org.eclipse.core.resources 2 10035 2018-07-10 13:32:03.235
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Tue Jul 10 13:32:10 CEST 2018
{"traits":{"host_name":"P01449-PC","os":"win32","os_type":"64","kat_version":"5.4.2 build 1","kat_type":"64","sessionId":"8727bbb1-aa6b-4dbf-81be-7b625978e80d","user_key":"752F810474091149320BC59203F37A77","project":5,"test_case":11,"test_run":59,"new_project":0,"new_test_case":0,"new_test_run":0,"new_test_case_created":0,"new_project_created":0,"triggeredBy":"runScript","runningMode":"console"},"userId":"------"}

Tue Jul 10 14:06:28 CEST 2018
java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at java.nio.file.Files.readAllLines(Files.java:3205)
at com.kms.katalon.application.usagetracking.UsageInfoCollector.getNumberTestRun(UsageInfoCollector.java:152)
at com.kms.katalon.application.usagetracking.UsageInfoCollector.collectUsageProjectInfo(UsageInfoCollector.java:143)
at com.kms.katalon.application.usagetracking.UsageInfoCollector.getActivatedUsageInfo(UsageInfoCollector.java:111)
at com.kms.katalon.composer.execution.jobs.ExecuteTestCaseJob.run(ExecuteTestCaseJob.java:79)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


Tue Jul 10 14:06:29 CEST 2018
{"traits":{"host_name":"P01449-PC","os":"win32","os_type":"64","kat_version":"5.4.2 build 1","kat_type":"64","sessionId":"346141b3-0959-4c8c-8308-0721f45add77","user_key":"752F810474091149320BC59203F37A77","project":5,"test_case":11,"test_run":59,"new_project":0,"new_test_case":0,"new_test_run":0,"new_test_case_created":0,"new_project_created":0,"triggeredBy":"runScript","runningMode":"gui"},"userId":"-------"}

Hi Mate

How are you running it – from a shell script/batch file?

Hi Russ

No, this was run manually - from the command line.

@Katalon Studio

Any news?

Can we see your test case?

Sure, Vinh. This is the test case:

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.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
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.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
import metode.webElementi
WebUI.openBrowser('https://my.aut.com')
WebUI.maximizeWindow()
webElementi.popuniTargetComboBox("#login-username", "my-username", 1)
webElementi.popuniTargetComboBox("#login-password", "my-password", 1)
//webElementi.klikniTarget("#login-go")
WebUI.waitForPageLoad(30)
webElementi.klikniTarget('i.fa-th')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('i.fa-receipt')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('button[title="Knjiga"]')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('.ui-widget-overlay.ui-front + div .btn-color-green1')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('.ui-widget-overlay.ui-front + div .btn-color-red1')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('.btn-color-red1')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('.c-slidebutton-slider-close')
WebUI.delay(GlobalVariable.timeout_MIN)
webElementi.klikniTarget('.fa-power-off')
WebUI.delay(GlobalVariable.timeout_MIN)
WebUI.closeBrowser()

And these are the custom methods:

package metode
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import org.openqa.selenium.By
import org.openqa.selenium.Keys as Keys
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
public class webElementi {
def static target = WebUI.modifyObjectProperty(findTestObject('DUMMY'), 'css', 'equals', '.c-recdoz.m-button', true)
@Keyword
static klikniTarget(String cssSelektor) {
target = WebUI.modifyObjectProperty(findTestObject('DUMMY'), 'css', 'equals', cssSelektor, true)
WebUI.click(target)
}
@Keyword
static popuniTargetComboBox (String cssSelektor, String tekst, int delay){
target = WebUI.modifyObjectProperty(findTestObject('DUMMY'), 'css', 'equals', cssSelektor, true)
WebUI.setText(target, tekst)
WebUI.delay(delay)
WebUI.sendKeys(target, Keys.chord(Keys.ARROW_DOWN, Keys.ENTER))
}
}

@Katalon Studio

This still happens occasionally. Restarting KS does the job, but that should not be a premanent solution.

What about when this happens during scheduled execution? There’s no-one there to restart.