@costea.georgian89
I modified your original project. Now it runs fine.
Velocify 2.zip (122.2 KB)
The most notable part for you would be this portion in the Test Case test1:
def address = CustomKeywords.'com.costea.EmailUtil.getMyAddress'()
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_Email Address_email'), address)
//WebUI.verifyElementText(findTestObject('Page_Sales Funnel - TexasLending.com/input_Email Address_email'),
// email.get(0))
def v = WebUI.getAttribute(findTestObject('Page_Sales Funnel - TexasLending.com/input_Email Address_email'),
'value')
def result = WebUI.verifyEqual(v, address)
if (result) {
WebUI.comment("Good! The address ${address} is what I expected")
} else {
WebUI.comment("Nein, die Adresse ${address} ist nicht das, was ich erwartet habe")
}
You should use WebUI.getAttribute(testobject, 'value')
in order to retrieve the value out of the <input value="...">
tag.
WebUI.verifyElementText()
does not work to retrieve and verify the @value attribute of <input>
.
Why?
You should be aware, HTML <input value="foo">
tag contains the text("foo"
) you put as @value attribute. It does not look like <input>foo<input>
. See some resources about HTML, like this
2 Likes
@kazurayam Thank you very much!
@kazurayam One more request if is possible.
If the else function is the returned one can I do something to fail and send the report like when a test step from a test case fails? I am not sure if you understand what I mean.
Like:
Thank you in advance!
You want to make the test to fail?
You can control it using KeywordUtil
For example
import com.kms.katalon.core.util.KeywordUtil
if (result) {
....
} else {
....
KeywordUtil.markFailedAndStop("Nein, die Adresse ${address} ist nicht das, was ich erwartet habe")
}
1 Like
@kazurayam
Thank you very much!! You are the best!!
Code:
import static org.assertj.core.api.Assertions.*
import org.openqa.selenium.Keys as Keys
import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.testobject.ResponseObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webservice.verification.WSResponseManager
import groovy.json.JsonSlurper
import internal.GlobalVariable as GlobalVariable
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
RequestObject request = WSResponseManager.getInstance().getCurrentRequest()
ResponseObject response = WSResponseManager.getInstance().getCurrentResponse()
Issue:
2021-02-08 12:20:22.184 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2021-02-08 12:20:22.191 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/Download API
2021-02-08 12:20:25.144 DEBUG testcase.Download API - 1: sendRequest(com)
2021-02-08 12:20:25.174 ERROR c.k.katalon.core.main.TestCaseExecutor -
Test Cases/Download API FAILED.
Reason:
groovy.lang.MissingPropertyException: No such property: content for class: Script1612768471696
at Download API.run(Download API:20)
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:398)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:389)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:368)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:360)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:255)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1612768816954.run(TempTestCase1612768816954.groovy:25)
2021-02-08 12:20:25.214 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/Download API
Now same issue occurs, I’ve added all required Import statements as well…
Hi, Hope you doing Great.
I’m Finding the same issue incase of hitting Dropbox download API:
Code:
import static org.assertj.core.api.Assertions.*
import org.openqa.selenium.Keys as Keys
import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.testobject.ResponseObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webservice.verification.WSResponseManager
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import groovy.json.JsonSlurper
import internal.GlobalVariable as GlobalVariable
RequestObject request = WSResponseManager.getInstance().getCurrentRequest()
ResponseObject response = WSResponseManager.getInstance().getCurrentResponse()
Issues:
2021-02-08 12:20:22.184 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2021-02-08 12:20:22.191 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/Download API
2021-02-08 12:20:25.144 DEBUG testcase.Download API - 1: sendRequest(com)
2021-02-08 12:20:25.174 ERROR c.k.katalon.core.main.TestCaseExecutor -
Test Cases/Download API FAILED.
Reason:
groovy.lang.MissingPropertyException: No such property: content for class: Script1612768471696
at Download API.run(Download API:20)
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:398)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:389)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:368)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:360)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:255)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1612768816954.run(TempTestCase1612768816954.groovy:25)
2021-02-08 12:20:25.214 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/Download API
Kindly help me please
The message is telling you the reason. Your code is wrong.
Possibly your test case code has a line containing a word
content
, which is somehow wrong. You can check your code more for yourself, can’t you?
=============== ROOT CAUSE =====================
03-17-2021 08:32:47 AM Test Cases/ExecuteAutomation
Elapsed time: 3.227s
Test Cases/ExecuteAutomation FAILED.
Reason:
groovy.lang.MissingPropertyException: No such property: CucumberEARunner for class: Script1615888833419
at ExecuteAutomation.run(ExecuteAutomation:20)
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:398)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:389)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:368)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:360)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:255)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1615966361979.run(TempTestCase1615966361979.groovy:25)
Please help me resolve this error.
Please share the source code of this test case.
1 Like
package com.ea.steps
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.annotation.Keyword
import com.kms.katalon.core.checkpoint.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
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testdata.TestData
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 com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import cucumber.api.junit.Cucumber;
import internal.GlobalVariable
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
@RunWith(Cucumber.class)
@CucumberOptions(features = “Include/features”,
glue=[“”],
tags=[“@FunctionalTests”],
plugin = [“pretty”, “html:ReportsFolder/cucumber.json”])
public class CucumberEARunner {
}
In the test case, you need a line:
import com.ea.steps.CucumberEARunner
1 Like
Thank you ! That really helped me !
I have one more question
How can I change this root ? This is not the one from my computer
Original error: The application at ‘C:\Users\majdag.RYARC\Downloads\app-release (4).apk’ does not exist or is not accessible
I don’t understand what you mean.
1 Like
Done, it passed already … thank you!!!
=============== ROOT CAUSE =====================
03-17-2021 12:34:05 PM Test Cases/ExecuteAutomation
Elapsed time: 12.292s
Test Cases/ExecuteAutomation FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Feature file ‘Include/features/Mobile App/Login_from_mobile_app.feature’ was failed
at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:50)
at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:23)
at com.kms.katalon.core.keyword.internal.KeywordMain$stepFailed$0.call(Unknown Source)
at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFileWithTags_closure2.doCall(CucumberBuiltinKeywords.groovy:208)
at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFileWithTags_closure2.doCall(CucumberBuiltinKeywords.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFileWithTags(CucumberBuiltinKeywords.groovy:162)
at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFileWithTags.callStatic(Unknown Source)
at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFileWithTags(CucumberBuiltinKeywords.groovy:285)
at ExecuteAutomation.run(ExecuteAutomation:23)
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:398)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:389)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:368)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:360)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:255)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1615980839676.run(TempTestCase1615980839676.groovy:25)
Already new error 