Karate API Testing - verify if “retriever” breed is within the list
up vote
1
down vote
favorite
I am testing a public API that lists all types of breeds.
'https://dog.ceo/api/breeds/list/all'
Within the response I need to verify if "retriever" breed is within the list. My feature file looks like this
Feature: Testing a REST API
Scenario: Testing valid GET endpoint
Given url 'https://dog.ceo/api/breeds/list/all'
When method GET
Then status 200
And print response
And match response.message contains 'retriever'
However I get the following error:
com.intuit.karate.exception.KarateException: path: $.message, actual:
{affenpinscher=, african=, airedale=, akita=, appenzeller=,
basenji=, beagle=, bluetick=, borzoi=, bouvier=, boxer=,
brabancon=, briard=, bulldog=["boston","french"],
bullterrier=["staffordshire"], cairn=, cattledog=["australian"],
chihuahua=, chow=, clumber=, cockapoo=, collie=["border"],
coonhound=, corgi=["cardigan"], cotondetulear=, dachshund=,
dalmatian=, dane=["great"], deerhound=["scottish"], dhole=,
dingo=, doberman=, elkhound=["norwegian"], entlebucher=,
eskimo=, frise=["bichon"], germanshepherd=, greyhound=["italian"],
groenendael=,
hound=["afghan","basset","blood","english","ibizan","walker"],
husky=, keeshond=, kelpie=, komondor=, kuvasz=, labrador=,
leonberg=, lhasa=, malamute=, malinois=, maltese=,
mastiff=["bull","tibetan"], mexicanhairless=, mix=,
mountain=["bernese","swiss"], newfoundland=, otterhound=,
papillon=, pekinese=, pembroke=, pinscher=["miniature"],
pointer=["german","germanlonghair"], pomeranian=,
poodle=["miniature","standard","toy"], pug=, puggle=, pyrenees=,
redbone=, retriever=["chesapeake","curly","flatcoated","golden"],
ridgeback=["rhodesian"], rottweiler=, saluki=, samoyed=,
schipperke=, schnauzer=["giant","miniature"],
setter=["english","gordon","irish"], sheepdog=["english","shetland"],
shiba=, shihtzu=,
spaniel=["blenheim","brittany","cocker","irish","japanese","sussex","welsh"], springer=["english"], stbernard=,
terrier=["american","australian","bedlington","border","dandie","fox","irish","kerryblue","lakeland","norfolk","norwich","patterdale","russell","scottish","sealyham","silky","tibetan","toy","westhighland","wheaten","yorkshire"],
vizsla=, weimaraner=, whippet=, wolfhound=["irish"]}, expected:
'retriever', reason: actual value is not a string
karate
add a comment |
up vote
1
down vote
favorite
I am testing a public API that lists all types of breeds.
'https://dog.ceo/api/breeds/list/all'
Within the response I need to verify if "retriever" breed is within the list. My feature file looks like this
Feature: Testing a REST API
Scenario: Testing valid GET endpoint
Given url 'https://dog.ceo/api/breeds/list/all'
When method GET
Then status 200
And print response
And match response.message contains 'retriever'
However I get the following error:
com.intuit.karate.exception.KarateException: path: $.message, actual:
{affenpinscher=, african=, airedale=, akita=, appenzeller=,
basenji=, beagle=, bluetick=, borzoi=, bouvier=, boxer=,
brabancon=, briard=, bulldog=["boston","french"],
bullterrier=["staffordshire"], cairn=, cattledog=["australian"],
chihuahua=, chow=, clumber=, cockapoo=, collie=["border"],
coonhound=, corgi=["cardigan"], cotondetulear=, dachshund=,
dalmatian=, dane=["great"], deerhound=["scottish"], dhole=,
dingo=, doberman=, elkhound=["norwegian"], entlebucher=,
eskimo=, frise=["bichon"], germanshepherd=, greyhound=["italian"],
groenendael=,
hound=["afghan","basset","blood","english","ibizan","walker"],
husky=, keeshond=, kelpie=, komondor=, kuvasz=, labrador=,
leonberg=, lhasa=, malamute=, malinois=, maltese=,
mastiff=["bull","tibetan"], mexicanhairless=, mix=,
mountain=["bernese","swiss"], newfoundland=, otterhound=,
papillon=, pekinese=, pembroke=, pinscher=["miniature"],
pointer=["german","germanlonghair"], pomeranian=,
poodle=["miniature","standard","toy"], pug=, puggle=, pyrenees=,
redbone=, retriever=["chesapeake","curly","flatcoated","golden"],
ridgeback=["rhodesian"], rottweiler=, saluki=, samoyed=,
schipperke=, schnauzer=["giant","miniature"],
setter=["english","gordon","irish"], sheepdog=["english","shetland"],
shiba=, shihtzu=,
spaniel=["blenheim","brittany","cocker","irish","japanese","sussex","welsh"], springer=["english"], stbernard=,
terrier=["american","australian","bedlington","border","dandie","fox","irish","kerryblue","lakeland","norfolk","norwich","patterdale","russell","scottish","sealyham","silky","tibetan","toy","westhighland","wheaten","yorkshire"],
vizsla=, weimaraner=, whippet=, wolfhound=["irish"]}, expected:
'retriever', reason: actual value is not a string
karate
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am testing a public API that lists all types of breeds.
'https://dog.ceo/api/breeds/list/all'
Within the response I need to verify if "retriever" breed is within the list. My feature file looks like this
Feature: Testing a REST API
Scenario: Testing valid GET endpoint
Given url 'https://dog.ceo/api/breeds/list/all'
When method GET
Then status 200
And print response
And match response.message contains 'retriever'
However I get the following error:
com.intuit.karate.exception.KarateException: path: $.message, actual:
{affenpinscher=, african=, airedale=, akita=, appenzeller=,
basenji=, beagle=, bluetick=, borzoi=, bouvier=, boxer=,
brabancon=, briard=, bulldog=["boston","french"],
bullterrier=["staffordshire"], cairn=, cattledog=["australian"],
chihuahua=, chow=, clumber=, cockapoo=, collie=["border"],
coonhound=, corgi=["cardigan"], cotondetulear=, dachshund=,
dalmatian=, dane=["great"], deerhound=["scottish"], dhole=,
dingo=, doberman=, elkhound=["norwegian"], entlebucher=,
eskimo=, frise=["bichon"], germanshepherd=, greyhound=["italian"],
groenendael=,
hound=["afghan","basset","blood","english","ibizan","walker"],
husky=, keeshond=, kelpie=, komondor=, kuvasz=, labrador=,
leonberg=, lhasa=, malamute=, malinois=, maltese=,
mastiff=["bull","tibetan"], mexicanhairless=, mix=,
mountain=["bernese","swiss"], newfoundland=, otterhound=,
papillon=, pekinese=, pembroke=, pinscher=["miniature"],
pointer=["german","germanlonghair"], pomeranian=,
poodle=["miniature","standard","toy"], pug=, puggle=, pyrenees=,
redbone=, retriever=["chesapeake","curly","flatcoated","golden"],
ridgeback=["rhodesian"], rottweiler=, saluki=, samoyed=,
schipperke=, schnauzer=["giant","miniature"],
setter=["english","gordon","irish"], sheepdog=["english","shetland"],
shiba=, shihtzu=,
spaniel=["blenheim","brittany","cocker","irish","japanese","sussex","welsh"], springer=["english"], stbernard=,
terrier=["american","australian","bedlington","border","dandie","fox","irish","kerryblue","lakeland","norfolk","norwich","patterdale","russell","scottish","sealyham","silky","tibetan","toy","westhighland","wheaten","yorkshire"],
vizsla=, weimaraner=, whippet=, wolfhound=["irish"]}, expected:
'retriever', reason: actual value is not a string
karate
I am testing a public API that lists all types of breeds.
'https://dog.ceo/api/breeds/list/all'
Within the response I need to verify if "retriever" breed is within the list. My feature file looks like this
Feature: Testing a REST API
Scenario: Testing valid GET endpoint
Given url 'https://dog.ceo/api/breeds/list/all'
When method GET
Then status 200
And print response
And match response.message contains 'retriever'
However I get the following error:
com.intuit.karate.exception.KarateException: path: $.message, actual:
{affenpinscher=, african=, airedale=, akita=, appenzeller=,
basenji=, beagle=, bluetick=, borzoi=, bouvier=, boxer=,
brabancon=, briard=, bulldog=["boston","french"],
bullterrier=["staffordshire"], cairn=, cattledog=["australian"],
chihuahua=, chow=, clumber=, cockapoo=, collie=["border"],
coonhound=, corgi=["cardigan"], cotondetulear=, dachshund=,
dalmatian=, dane=["great"], deerhound=["scottish"], dhole=,
dingo=, doberman=, elkhound=["norwegian"], entlebucher=,
eskimo=, frise=["bichon"], germanshepherd=, greyhound=["italian"],
groenendael=,
hound=["afghan","basset","blood","english","ibizan","walker"],
husky=, keeshond=, kelpie=, komondor=, kuvasz=, labrador=,
leonberg=, lhasa=, malamute=, malinois=, maltese=,
mastiff=["bull","tibetan"], mexicanhairless=, mix=,
mountain=["bernese","swiss"], newfoundland=, otterhound=,
papillon=, pekinese=, pembroke=, pinscher=["miniature"],
pointer=["german","germanlonghair"], pomeranian=,
poodle=["miniature","standard","toy"], pug=, puggle=, pyrenees=,
redbone=, retriever=["chesapeake","curly","flatcoated","golden"],
ridgeback=["rhodesian"], rottweiler=, saluki=, samoyed=,
schipperke=, schnauzer=["giant","miniature"],
setter=["english","gordon","irish"], sheepdog=["english","shetland"],
shiba=, shihtzu=,
spaniel=["blenheim","brittany","cocker","irish","japanese","sussex","welsh"], springer=["english"], stbernard=,
terrier=["american","australian","bedlington","border","dandie","fox","irish","kerryblue","lakeland","norfolk","norwich","patterdale","russell","scottish","sealyham","silky","tibetan","toy","westhighland","wheaten","yorkshire"],
vizsla=, weimaraner=, whippet=, wolfhound=["irish"]}, expected:
'retriever', reason: actual value is not a string
karate
karate
edited Nov 8 at 19:37
Anastasios Selmanis
1,66721228
1,66721228
asked Nov 8 at 16:54
Tebogo
82
82
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
Look at the response structure carefully. These will work:
And match response.message contains { retriever: '#array' }
And match response.message.retriever == ['chesapeake', 'curly', 'flatcoated', 'golden']
Do read the documentation and examples.
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
Look at the response structure carefully. These will work:
And match response.message contains { retriever: '#array' }
And match response.message.retriever == ['chesapeake', 'curly', 'flatcoated', 'golden']
Do read the documentation and examples.
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
add a comment |
up vote
0
down vote
accepted
Look at the response structure carefully. These will work:
And match response.message contains { retriever: '#array' }
And match response.message.retriever == ['chesapeake', 'curly', 'flatcoated', 'golden']
Do read the documentation and examples.
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
Look at the response structure carefully. These will work:
And match response.message contains { retriever: '#array' }
And match response.message.retriever == ['chesapeake', 'curly', 'flatcoated', 'golden']
Do read the documentation and examples.
Look at the response structure carefully. These will work:
And match response.message contains { retriever: '#array' }
And match response.message.retriever == ['chesapeake', 'curly', 'flatcoated', 'golden']
Do read the documentation and examples.
answered Nov 8 at 17:48
Peter Thomas
10.8k31741
10.8k31741
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
add a comment |
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
Can you share a link where I can find the documentation and examples please
– Tebogo
Nov 9 at 6:35
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
@Tebogo github.com/intuit/karate
– Peter Thomas
Nov 9 at 17:41
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212530%2fkarate-api-testing-verify-if-retriever-breed-is-within-the-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown