当前位置: 首页 > news >正文

个人网站开发主要问题南城网站建设公司策划

个人网站开发主要问题,南城网站建设公司策划,wordpress 标题字体大小,标准论坛网站建设本节介绍,使用python实现接口自动化实现。 思路:讲接口数据存放在excel文档中,读取excel数据,将每一行数据存放在一个个列表当中。然后获取URL,header,请求体等数据,进行请求发送。 结构如下 excel文档内容如下&#x…

 本节介绍,使用python实现接口自动化实现。

  思路:讲接口数据存放在excel文档中,读取excel数据,将每一行数据存放在一个个列表当中。然后获取URL,header,请求体等数据,进行请求发送。

  结构如下

  

  excel文档内容如下:

  

   一、Common与Config包

  Config里面的config.ini主要存放的默认的路径内容等,如excel文件的地址,工作簿名称

  

   Common里面主要是一些通用的方法,目前只需要读取config里面的数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

import configparser

import os.path

#读取config里面的数据

class ReadConfig:

    def __init__(self):

        self.filePath = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))+"\\config\\config.ini"

        print(self.filePath)

        self.config = configparser.ConfigParser()

        self.config.read(self.filePath,encoding='utf-8')

    def get_data(self,section,key):

        return self.config.get(section,key)

    def get_list(self,section):

        return self.config.items(section)

if __name__ == '__main__':

    conf = ReadConfig()

    print(conf.get_data("excel""file_path"))

  二、excel包

  主要是实现读取excel表格数据,此处用的是openpyxl进行实现

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

import openpyxl

class ReadExcel:

    def __init__(self,excel_path,sheet_name):

        self.excel_path = excel_path

        self.sheet_name = sheet_name

    def get_data(self,row):

        workbook = openpyxl.load_workbook(self.excel_path)

        sh = workbook[self.sheet_name]

        data = []

        for in list(sh.rows)[row]:

            data.append(c.value)

        return data

if __name__ == '__main__':

    ex = ReadExcel('request.xlsx','Sheet1')

    print(ex.get_data(0))

    print(ex.get_data(1))

    print(ex.get_data(2))

    print(ex.get_data(3))

    print(ex.get_data(4))

  三、requests包

  主要用于发送请求,这里只写了常用的get post请求,需要可以加其他的。

  由于post请求体有多种,此处只区分了两种,其他的可以加上。

  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

import json

import requests

class Request:

    def get_url(self,url,headers=None,paras=None):

        if url==None:

            print("URL地址为空")

        elif paras == None:

            = requests.get(url,headers=headers,params=paras)

        else:

            = requests.get(url, headers=headers, params=json.loads(paras))

        return r

    def post_url(self,url,content_type,headers=None,payload=None):

        if url==None:

            print("URL地址为空")

        else:

            if content_type == "application/json":

               payload_json = json.dumps(payload)

               = requests.post(url,headers=headers,data=payload_json)

            elif content_type =="application/x-www-form-urlencoded":

                = requests.post(url,headers=headers,data=payload)

            else:

                print("no this content-type")

            return r

    def choose_method(self,method,url,content_type,headers=None,payload=None):

        if method == "get":

            return self.get_url(url,headers,payload)

        elif method == "post":

            return self.post_url(url,content_type,headers,payload)

        else:

            print("no this method request")

  四、testcases包

  使用pytest框架进行自动化测试

  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

import json

import pytest

from autoStruct.apiAuto.common.requests import Request

from autoStruct.apiAutoTesting.common.readConfig import ReadConfig

from autoStruct.apiAutoTesting.excel.readExcel import ReadExcel

class TestApi:

    def setup_class(self):

        file_path = ReadConfig().get_data('excel''file_path')

        sheet_name = ReadConfig().get_data('excel''sheet_name')

        self.ex = ReadExcel(file_path, sheet_name)

    @pytest.mark.parametrize('num',[1,2,3,4,5])

    def testcase(self,num):

            data = self.ex.get_data(num)

            print(data)

            if data[3]==None:

                = Request().choose_method(data[1],data[0],data[4],json.loads(data[2]),data[3])

            else:

                = Request().choose_method(data[1], data[0], data[4], json.loads(data[2]), json.loads(data[3]))

            print(r.text)

if __name__ == '__main__':

    pytest.main(['-vs','testapi.py'])

Python接口自动化测试零基础入门到精通(2023最新版)

 

http://www.yayakq.cn/news/701767/

相关文章:

  • 岗顶网站开发常州工程交易网
  • 网站建设课程培训做小说网站做国外域名还是国内的好处
  • 无锡做网站公司怎么用frontpage做网站
  • dedecms做网站教程可视化网页在线编辑器
  • 阿里巴巴网站怎么做推广方案重庆网站建设及推广公司
  • seo站内优化泰安网络安装
  • 西安网站建设工程债务优化是什么意思
  • 如何做网站调研网站建设参考书籍
  • 网站设计亮点商城类网站
  • 花钱做网站不给部署正在建设中的网站
  • 推荐一个做照片书的网站网站运营管理主要内容
  • 南阳网站建站培训wordpress弹幕视频主题
  • 如何提高你的网站的粘性学做美食视频网站
  • h5高端网站开发新手学做网站百度云
  • 漯河做网站推广百度收录推广
  • 网站地图的形式网站登录账号密码保存
  • 钓鱼网站链接怎么做自媒体平台是什么意思
  • 营销型网站维护费用青岛网页搜索排名提升
  • 用php建网站php做网站框架
  • 把网站放到服务器个人信息管理网站建设
  • 普拓网站建设云南网app下载
  • 网站建设4000-262-263营销型网站举例
  • 外贸网站建设 佛山做带数据库的网站
  • 设计网站源码张家港杨舍网站建设
  • 建设手机网站平台毕设做网站工作量够吗
  • 个人网站建设免费分析网址大全是什么浏览器
  • 畜牧业网站建设网站文字排版
  • 企业官网网站模板平台公司发债
  • 什么是网站托管厦门百度竞价
  • 互联网时代的营销首页排名优化公司