Data driven testing more than 500 records from excel sheet is failing


#1

Data driven testing more than 500 records from excel sheet is failing. The spreadsheet has 1000 values.
It’s a very simple script and I really don’t see any problems with it. the tool hung up for a lot of time and had to close to re-execute the test.

We have more than a million worth of data coming in the pipeline for the upcoming runs. The UI does not seem to be of any good support for the amount of data we pass though our test code.

Is there a way that we can run the test using command line, if possible, please help ushering in that direction, please ? Any thoughts and help is highly appreciated ?

Here is my code -

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.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 internal.GlobalVariable as GlobalVariable
import groovy.json.JsonSlurper

‘Send Request’
response = WS.sendRequest(findTestObject(‘POST’, [(‘url’) : url]))

String urlResponse = response.getResponseText()

JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(urlResponse)
String catidValue = parsedJson.results[0].queries.getinfo.cats[0].catid
println (url)
println (catidValue)


#2

Hi,

what about your cpu usage during test run?
With GUI huge tests use lot of cpu time

#3

@Timo_Kuisma
Thank you very much. This helped a lot. Just at the right time, we are looking for it.
It worked charmingly.

Appreciate your help.


#4

@Timo_Kuisma
The data for 1K or 2K records, the system is working good. However, when used with 10K / 20K data, tool throws the below error. Any thoughts, how to fix this, please ? Appreciate your help.

Request sent successfully.
/C%%Users%Katalon Studio%Training%Awareness.prj/Libs/TempTestSuite1550095171189.groovy: 0 General error during class generation: Class file too large!

java.lang.RuntimeException: Class file too large!
at groovyjarjarasm.asm.ClassWriter.toByteArray(Unknown Source)
at org.codehaus.groovy.control.CompilationUnit$6.call(CompilationUnit.java:890)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1188)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:653)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:631)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:608)
at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.processToPhase(GroovyCompilationUnitDeclaration.java:214)
at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.generateCode(GroovyCompilationUnitDeclaration.java:326)
at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:931)
at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:141)
at java.lang.Thread.run(Thread.java:748)

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during class generation: Class file too large!

java.lang.RuntimeException: Class file too large!
at groovyjarjarasm.asm.ClassWriter.toByteArray(Unknown Source)
at org.codehaus.groovy.control.CompilationUnit$16.call(CompilationUnit.java:815)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1053)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:591)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:569)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:546)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
at groovy.lang.GroovyShell.run(GroovyShell.java:517)
at groovy.lang.GroovyShell.run(GroovyShell.java:507)
at groovy.ui.GroovyMain.processOnce(GroovyMain.java:653)
at groovy.ui.GroovyMain.run(GroovyMain.java:384)
at groovy.ui.GroovyMain.process(GroovyMain.java:370)
at groovy.ui.GroovyMain.processArgs(GroovyMain.java:129)
at groovy.ui.GroovyMain.main(GroovyMain.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109)
at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131)

1 error

Picked up _JAVA_OPTIONS: -Xmx2048M


Test Suites/external - - 20190213_135931…0/20000(0%)


#5

how about increasing -Xmx?
How much of physical memory does your PC have?
If you have 8GB memory, how about trying -Xmx6000M?


#6

I have 35GB left in memory. I will try upping to 6000M and see if it works.


#7

/C%%Users%Katalon Studio%Training%Awareness.prj/Libs/TempTestSuite1550095171189.groovy: 0 General error during class generation: Class file too large!

See also Class file too large


Have you looked at the /C%%Users%Katalon Studio%Training%Awareness.prj/Libs/TempTestSuite1550095171189.groovy file? Do you find any code fragment that makes the class file really large?


#8

@kazurayam
I do not see the code fragment that is bothering the test. However, I have reinstalled KS and it worked good.
Thank you for the “Class file too large” link. I have tried and it worked.
Appreciate your help.