「原创声明:保留所有权利,禁止转载」
本人在做接口测试的过程中,每次请求接口时都会自己计算一个请求时间存在数据库里,时间一长积累了很多数据,在学习 Python+plotly 进行数据可视化后,终于对接口请求时间这个数据进行了处理,制作了 violin 图表,效果还不错。分享一下代码,供大家参考。
下面是我自己的测试方法:
#!/usr/bin/python
# coding=utf-8
import plotly.plotly
import pandas as pd
import plotly.figure_factory as ff
import second.mysql
if __name__ == "__main__":
a = second.mysql.Mysql()
b = a.getApiTimes('/article/list/userfeed', '/article/detail', '/article/info', '/advertise/api/list', '/common/menu')
df = pd.DataFrame(dict(Score=b[0], Group=b[1])) # 合并数据
fig = ff.create_violin(df, data_header='Score', group_header='Group',
height=700, width=1200,title='接口请求时间')
plotly.offline.plot(fig)
下面是 mysql 里面的 getapitimes() 方法:
def getApiTimes(self, *params):
num = str(params.__len__())
print "接口数:" + num
conn = self.conn
# 获取链接
cur = conn.cursor()
data = []
size = []
for api in params:
cur.execute("SELECT * FROM api_result WHERE api_name = \"" + api + "\"")
dfs = cur.fetchall()
# 排除异常数据
for row in dfs:
if row[7] < 1:
data.append(row[7])
size.append(api)
cur.close()
conn.commit()
conn.close()
return [data, size]
下面是几个接口的效果图:
这下再去看接口请求的响应时间,简直太直接了。用来做 PPT 和报告再好不过了。
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。