Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby-API RestClient-JSON_Ruby_Json_Api_Rest_Automated Tests - Fatal编程技术网

Ruby-API RestClient-JSON

Ruby-API RestClient-JSON,ruby,json,api,rest,automated-tests,Ruby,Json,Api,Rest,Automated Tests,刚刚开始进行API测试,并且一直在挣扎,习惯于只做前端selenium web驱动程序测试,但是,我需要了解API测试 我了解一些基本知识,比如Get将从url获取数据,post将数据发布到url,我认为这是正确的,但是,我可能错了 我遇到的问题如下: response = RestClient.post 'http://jsonplaceholder.typicode.com/posts', {:title => 'mr', :first_name => 'bob', :s

刚刚开始进行API测试,并且一直在挣扎,习惯于只做前端selenium web驱动程序测试,但是,我需要了解API测试

我了解一些基本知识,比如Get将从url获取数据,post将数据发布到url,我认为这是正确的,但是,我可能错了

我遇到的问题如下:

 response = RestClient.post 'http://jsonplaceholder.typicode.com/posts',

  {:title => 'mr', :first_name => 'bob', :second_name => 'smith'}

    data1 = JSON.parse(response)

        p data1

所以我将restclient.post分配给响应变量,并将散列键、值对发布到url?然后我使用JSON解析响应,然后将响应打印到控制台。我需要做的是从散列中提取每个值,并将每个值打印到控制台,以便它以bob smith先生的身份显示数据。你能解释一下吗?我知道data1是变量,在方括号中它们是散列中的键,但是,您能解释一下这是如何打印键的值而不是键本身吗?当然。当您使用
“#{foo}”时,
foo将被计算。在本例中,我们正在访问键的值:
data1[:title]
。谢谢,这是执行我所需操作的最佳方法,还是您可以迭代哈希,然后以这种方式打印每个值?你想这样工作吗?数据1.每做一件事,我都有同样的想法。对键进行迭代是没有意义的,因为散列没有顺序。使用方法包装字符串可能是有意义的。顺便说一句,这是错误的答案,但我发现了,我将更改代码,以便编辑是正确的。您能解释一下吗?我知道data1是变量,在方括号中它们是散列中的键,但是,您能解释一下这是如何打印键的值而不是键本身吗?当然。当您使用
“#{foo}”时,
foo将被计算。在本例中,我们正在访问键的值:
data1[:title]
。谢谢,这是执行我所需操作的最佳方法,还是您可以迭代哈希,然后以这种方式打印每个值?你想这样工作吗?数据1.每做一件事,我都有同样的想法。对键进行迭代是没有意义的,因为散列没有顺序。使用方法包装字符串可能是有意义的。顺便说一下,这是一个错误的答案,但我发现了,我将更改代码,以便编辑是正确的。
print "#{ data1[ :title ]} #{data1[:first_name]} #{data1[:second_name]}"