Forum Discussion

yognsal's avatar
yognsal
Occasional Contributor
7 years ago

Contains assertion

Hi

I have below json response format.

My all the data is constant except the date which chnages every day. due to this i am not able to validate the response using contains assertion. Is there any way through script i can chnage date in my contains assertion as per my requirement.?

Date could be yestarday or 7 days back.

 

[
{
"locatonID": "a036000000lRWFi",
"locationLevelInfo": [
{
"ssidName": "McDonalds Free WiFi",
"ssidLevelInfoList": [
{
"date": "31-07-2018 00:00:00",
"ssidDayLevelInfoList": [
{
"loyalUserCount": 47,
"newUserCount": 6,
"tonnage_in": 9745977.19,
"tonnage_out": 10456271.34,
"throughput_kbps": 505.18,
"totalUserCount": 53
}
]
}

 

  • add a groovy step to create your variable date

    If you want today's date as the date to check you can add this

     

    myDate = new Date()
    context.testCase.setPropertyValue("date", myDate.format("MM-dd-yyyy 00:00:00"))

    and then in your assertion step put this in to pull the variable from your property

     

     

    ${#TestCase#date}

    if you are wanting to dynamically get tomorrows date then

    myDate = new Date()
    myDate = myDate - 1
    context.testCase.setPropertyValue("date", myDate.format("MM-dd-yyyy 00:00:00"))

     

  • JHunt's avatar
    JHunt
    7 years ago
    testRunner.testCase.testSuite.project.getTestSuiteList().each {
        it.getTestCaseList().each { tc ->
            myDate = new Date()
            tc.setPropertyValue("date", myDate.format("dd-MM-yyyy 00:00:00"))
        }
    }
  • add a groovy step to create your variable date

    If you want today's date as the date to check you can add this

     

    myDate = new Date()
    context.testCase.setPropertyValue("date", myDate.format("MM-dd-yyyy 00:00:00"))

    and then in your assertion step put this in to pull the variable from your property

     

     

    ${#TestCase#date}

    if you are wanting to dynamically get tomorrows date then

    myDate = new Date()
    myDate = myDate - 1
    context.testCase.setPropertyValue("date", myDate.format("MM-dd-yyyy 00:00:00"))

     

    • yognsal's avatar
      yognsal
      Occasional Contributor

      Thanks for the solution. it works as per my requirment.

    • yognsal's avatar
      yognsal
      Occasional Contributor

      One more doubt, how do i set this to all the test cases present in all the test suites in the project.

       

      Actually i am created a project which contains multiple test suites and every test suite contains multiple test cases.

       

      I am trying something like below but it is not working -

       

      testRunner.testCase.testSuite.project.getTestSuiteList().each
      {
      it.getTestCaseList().each
      {
      myDate = new Date()
      context.testCase.setPropertyValue("date", myDate.format("dd-MM-yyyy 00:00:00"))
      log.info myDate

      }

      }

      • JHunt's avatar
        JHunt
        Community Hero
        testRunner.testCase.testSuite.project.getTestSuiteList().each {
            it.getTestCaseList().each { tc ->
                myDate = new Date()
                tc.setPropertyValue("date", myDate.format("dd-MM-yyyy 00:00:00"))
            }
        }