Python3 - 简单的接口测试1
麦子:公司今天让我测试接口,看看接口返回地址是否正确,再用此返回地址看看再次返回内容是否正确。有没有工具可以让我用用啊?
栗子:工具挺多的,但你为什么不自己写点代码,正好练习练习代码能力呢?
麦子:也好,用什么语言,怎么写啊?
栗子:听说python不错,我也没用过,那我们来写下,看看能不能实现?
麦子:ok!
栗子:那我们第一步要实现发送请求,接收响应;第二步要将响应地址再发送出去,然后再接收响应;第三部发一次发送和两次接受的东西都列出来。
下面以百度为例,请求和响应如下:
第一步:要实现发送请求,接收响应。也就是模拟这个请求,再看下响应的东西是否正确,具体代码如下:
1 import http.client 2 conn = http.client.HTTPSConnection('sp0.baidu.com') 3 conn.request('GET','/8bg4cTva2gU2pMbgoY3K/bdime.html?prd=www.baidu.com') 4 response = conn.getresponse() 5 temp = response.read() 6 conn.close() 7 print(temp)
代码含义如下:
1 import http.client
导入httpclient模块,HTTPSConnection对象中的方法可以实现发送和接收请求
1 conn = http.client.HTTPSConnection('sp0.baidu.com') 2 conn.request('GET','/8bg4cTva2gU2pMbgoY3K/bdime.html?prd=www.baidu.com')
创建HTTPSConnection对象的实例conn连接到服务器,参数为服务器地址
conn.request()方法用来发送请求,第一个参数含义为发送什么样的请求(GET请求),第二个参数含义为请求内容是什么。
1 response = conn.getresponse() 2 temp = response.read()
conn.getresponse()方法用来获取响应,需要在request()方法之后调用,返回response实例
response.read()方法用来获取响应体
1 conn.close()
conn.close()方法用来关闭连接
1 print(temp)
打印响应内容
下面将F12中看到的响应内容和打印的响应内容进行对比看看是否一直吧
编码遇到困难:
1. 没有过python,不知道要import什么才能使用python发送请求
解决:Python3需要import http.client,知道这个找些栗子就可以写出自己需要的代码了
2. 不会使用Python打印语句
解决:使用print('XXXX')这样就可以打印了