Python接口测试 必备实用小工具

用过requests写接口的人都知道,当我们抓包查看到url参数/body参数的时候,我们需要将(key1=value&key2=value2)手动打成python数据类型中的字典来进行发动接口请求

一、介绍使用场景 

比如下方fiddler抓包界面  大家看参数很多 假设参数很少 那还好 ,但是如果一多,手打成dict岂不是很麻烦?

之前我们都是将参数  手打成dict={'key1':'vlaue1','key2','vlaue2'......}这种格式。现在我们只需要copy上图中这一段 ,之后放在软件中,直接点击转化即可翻译成我们所需要的dicr格式,之后我们在python直接粘贴,这样岂不是很方便?

二、软件概述。

首先介绍一下软件,分为三个作用

a.将key1=value&key2=value2转化成dict格式

b.将key1=value;key2=value2转化成dict格式(fiddler、raw数据格式中,cookie就是这类形式)

c.在线翻译单词,支持多国语言转化(需要联网)

软件会根据你输入的格式,智能判断从而进行不同的功能。

三、软件源代码(python3.6)

a.gui界面代码

import wx
import wx.xrc


###########################################################################
## Class Frame
###########################################################################

class Frame(wx.Frame):

    def __init__(self, parent):
        wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"ThreeToOneTools", pos=wx.DefaultPosition, size=wx.Size(700, 300),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)

        self.icon = wx.Icon('logo.ico', wx.BITMAP_TYPE_ICO)
        self.SetIcon(self.icon)

        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        wxBoxSizer = wx.BoxSizer(wx.VERTICAL)

        self.staticTexttitle = wx.StaticText(self, wx.ID_ANY, u"请在第一个输入框输入字符", wx.DefaultPosition, wx.DefaultSize, 0)
        self.staticTexttitle.Wrap(-1)
        wxBoxSizer.Add(self.staticTexttitle, 0, wx.ALL, 5)

        self.CommonInput = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(700,25), 0)
        wxBoxSizer.Add(self.CommonInput, 0, wx.ALL, 5)

        self.ResultInput = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(700,25), 0)
        wxBoxSizer.Add(self.ResultInput, 0, wx.ALL, 5)

        self.BtnTranwords = wx.Button(self, wx.ID_ANY, u"点击此处进行转化", wx.Point(100, 100), wx.DefaultSize, 0)
        wxBoxSizer.Add(self.BtnTranwords, 0, wx.ALL, 5)

        self.staticTexttitle = wx.StaticText(self, wx.ID_ANY, u"软件使用说明:", wx.DefaultPosition, wx.DefaultSize, 0)
        self.staticTexttitle.Wrap(-1)
        wxBoxSizer.Add(self.staticTexttitle, 0, wx.ALL, 5)

        self.staticTexttitle = wx.StaticText(self, wx.ID_ANY,u"1、输入key1=value1&&key2=value2&&key3=value3格式字符将会转化成Dict", wx.DefaultPosition, wx.DefaultSize, 0)
        self.staticTexttitle.Wrap(-1)
        wxBoxSizer.Add(self.staticTexttitle, 0, wx.ALL, 5)

        self.staticTexttitle = wx.StaticText(self, wx.ID_ANY, u"2、输入key1=value1;key2=value2;key3=value3格式字符将会转化成Dict", wx.DefaultPosition, wx.DefaultSize, 0)
        self.staticTexttitle.Wrap(-1)
        wxBoxSizer.Add(self.staticTexttitle, 0, wx.ALL, 5)

        self.staticTexttitle = wx.StaticText(self, wx.ID_ANY, u"3、如不符合上述格式,将进行联网在线翻译,支持多国语言翻译。", wx.DefaultPosition, wx.DefaultSize, 0)
        self.staticTexttitle.Wrap(-1)
        wxBoxSizer.Add(self.staticTexttitle, 0, wx.ALL, 5)

        self.SetSizer(wxBoxSizer)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.BtnTranwords.Bind(wx.EVT_BUTTON, self.BtnTranWord)

    def __del__(self):
        pass

    # Virtual event handlers, overide them in your derived class
    def BtnTranWord(self, event):
        event.Skip()

b.主函数界面代码

# -*- coding: UTF-8 -*-
import wx
import BaseTools
import sys
import chardet
import hashlib
import random
import requests
import time
import importlib
import sys
importlib.reload(sys)


q = None
appid = "填你自己的"
SecretKey = "填你自己的"
salt = str(random.random())
q = None


class MianWindow(BaseTools.Frame):
    # 首先,咱们从刚刚源文件中将主窗体继承下来.就是修改过name属性的主窗体咯。
    def BtnTranWord(self, event):
        #1.定义翻译单词函数
        def WordFanyi():
            def SignMake(q):
                # 创建index字符串
                index = appid + q + salt + SecretKey
                # 对index进行md5加密
                Md5 = hashlib.md5()
                Md5.update(index.encode("utf-8"))
        
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值