Forum Discussion

vissie1983's avatar
vissie1983
New Contributor
7 years ago
Solved

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='http://wowweb.miway.co.za/types/';
//typ:getLeadsResponseElement[1]/typ:result[1]/typ:leads[1]/typ:array[1]/typ:contactNumber[1]/text()

 

 Expected results:

${DataSource#PHONE_NO}

 

 

  • 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

     

    https://community.smartbear.com/t5/SoapUI-Pro/Compare-EMPTY-TAGS-in-JDBC-response-to-NULL-in-DataSource-as/m-p/174135/thread-id/39693

     

     This groovy works. try it..

     

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


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


    if(ActualSourceCode == 'NOVALUE')
    {

    ExpectedSourceCode = 'NOVALUE'
    assert ExpectedSourceCode == ActualSourceCode
    log.info "SourceCodeNotEntered = $ActualSourceCode"
    }
    else
    {
    assert ExpectedSourceCode == ActualSourceCode
    log.info "SourceCodeEntered = $ActualSourceCode"
    }