in unter drei Testfällen Get Requests1, Get Requests2 und Get Requests3. Ich habe versucht, erhalten/RestResponse/Ergebnisknotenwert durch drei unterschiedliche Art und Weise, aber es gleiche Fehler zeigtZugriff auf Json-Daten mit RequestsLibrary von Robotframework: TypeError: erwartete Zeichenfolge oder Puffer
*** Settings ***
Library Collections
Library OperatingSystem
Library HttpLibrary.HTTP
Library RequestsLibrary
*** Test Cases ***
Get Requests1
# create a HTTP session to a server
Create Session countryname http://services.groupkt.com
# store response
${resp}= Get Request countryname /country/get/all
log ${resp.content}
# ${resp.content} display entire json response, now tring to get node value of /RestResponse/result
${getResponseJson} Get Json Value ${resp} /RestResponse/result
# shows error TypeError: expected string or buffer
log ${getResponseJson.content}
Get Requests2
# create a HTTP session to a server
Create Session countryname http://services.groupkt.com
# store response
${resp}= Get Request countryname /country/get/all
log ${resp.content}
# ${resp.content} display entire json response, now tring to get node value of /RestResponse/result
${responseContent}= to json ${resp.content}
# shows error TypeError: expected string or buffer
${getResponseJson} Get Json Value ${responseContent} /RestResponse/result
log ${getResponseJson.content}
Get Requests3
# create a HTTP session to a server
Create Session countryname http://services.groupkt.com
# store response
${resp}= Get Request countryname /country/get/all
log ${resp.content}
# ${resp.content} display entire json response,parse json
${data} Parse Json ${resp}
# shows error TypeError: expected string or buffer
${getResponseJson} Get Json Value ${resp} /RestResponse/result
Json-Datei Antwort
{
"RestResponse": {
"messages": [
"Total [249] records found."
],
"result": [
{
"name": "Afghanistan",
"alpha2_code": "AF",
"alpha3_code": "AFG"
},
{
"name": "\ufffd\ufffdland Islands",
"alpha2_code": "AX",
"alpha3_code": "ALA"
},
{
"name": "Albania",
"alpha2_code": "AL",
"alpha3_code": "ALB"
},
{
"name": "Algeria",
"alpha2_code": "DZ",
"alpha3_code": "DZA"
}
]
}
}
Danke für die Antwort. Ich habe es mit $ {resp.content} versucht. Es zeigt $ {getResponseJson.content} 'fehlgeschlagen: AttributeError:' Unicode 'Objekt hat kein Attribut' Inhalt '. Ich habe auch versucht mit $ {resp.json}, zeigt TypeError: erwartete Zeichenfolge oder Puffer – madhur
@madhur: Sehen Sie sich genauer an, was ich eingegeben und was Sie eingegeben haben, und Ihre eigenen Ergebnisse. In Ihren Kommentaren sagen Sie, dass '$ {resp.content}' die JSON-Zeichenkette anzeigt. Diese Zeichenfolge ist, was Sie für die anderen Daten suchen müssen. Nicht '$ {getResponseJson.content}', und nicht '$ {resp.json}'. –
Zweifellos zeigt $ {resp.content} json string. aber Bibliotheksmethoden zeigen Fehler wie in Frage erwähnt, wenn ich versuche, auf diese Variable zuzugreifen. – madhur