Ask a Question

Validate assertion with XPath field null

New Contributor

Validate assertion with XPath field null

Hi all.

I am new with soap so please bear with me.

in the pro-version I created and assetion to match  "content" from a Datasource.

It match 100% if there are any details in the field. but when the api returns nothing "No phone number exist" then my test fails.


When I compare my results the datasource contains "Null" and the API returns Blank. which fails my assertion when it reads that line.

What regex can I write to ignore it when it is "blank"/"Empty" ?

Please see my screenshot :

The expath expression is as follow:

declare namespace typ='';


 Expected results:





Community Expert

"Blank" and "Null" are not the same, so if you try to compare those the validation will fail.


A workaround is to concatenate these with some "keyword"; any keyword will do. So your XPath expression (slightly optimized) will be:

concat(//*:result/*:leads/*:array/*:contactNumber, "keyword")

And your expected result will be:

New Contributor

i have similar issue but with JDBC and i got my Groovy script to work.  this is what i have so far. below is link to my post


 This groovy works. try it..


def ActualSourceCode = context.expand( '${ABC_XYZ#ResponseAsXml#//Results[1]/ResultSet[1]/Row[1]/SOURCE_CODE[1]}' ) "JDBCSourceCode= $ActualSourceCode"

def ExpectedSourceCode = context.expand( '${DataSource#SourceCode1}' ) "EXCELSourceCode= $ExpectedSourceCode"

if(ActualSourceCode == 'NOVALUE')

ExpectedSourceCode = 'NOVALUE'
assert ExpectedSourceCode == ActualSourceCode "SourceCodeNotEntered = $ActualSourceCode"
assert ExpectedSourceCode == ActualSourceCode "SourceCodeEntered = $ActualSourceCode"

SmartBear Alumni (Retired)

Hi all,


Thanks everyone who participated in the discussion, your help is much appreciated!

@vissie1983 have you had a chance to try any of the suggestions above?
If your question is answered, do you mind clicking the Accept as Solution button below the reply that helped you? This way, other users will be able to easily find the solution in the future. 
Otherwise, do you have any additional information for us to consider?


We are looking forward to your reply,


Olga Terentieva
SmartBear Assistant Community Manager

Thank you I eventually wrote a script assertion and looks like this:


def response = context.expand( '${SOAP Request Get Lead#Response#declare namespace typ=\'\'; //typ:getLeadsResponseElement[1]/typ:result[1]/typ:leads[1]/typ:array[1]/typ:leadSource[1]/typ:leadSourceId[1]}' ) response

def DatasourceValue = context.expand( '${DataSource#SOURCE_ID}' ) "DatasourceValue= $DatasourceValue"

if (DatasourceValue=='null')
assert response==''

assert response==DatasourceValue


Showing results for 
Search instead for 
Did you mean: