python接口自动化测试完毕--钉钉发送测试结果

2021-03-15 16:12:00 浏览数 (1)

在前面的几篇文章中,

postman接口用例转化为python自动化测试用例

postman接口用例转化为python自动化测试用例(二)

postman接口用例转化为python自动化测试用例(三)

python自动化测试用例之----引入ddt数据驱动

四篇文章,从复制postman 请求到自动化测试用例,到引入ddt数据驱动,做了很好的实践,那么这篇文章呢,进行一个测试后的,测试通知功能。其实我们都知道,自动化 不能简单的只停留在自动化执行,我们还要自动化的去告知测试完毕,甚至 自动发送测试报告。这里我举一个简单的例子,现在很多公司 办公都用钉钉,那么我就用钉钉的例子来给大家实现下,测试完毕,自动推送测试结果。

钉钉群有一个智能助手,我们去点击,

选择添加机器人

选择自定义。

输入名称,点击完成,就完成了添加机器人。

完成后呢,给你一个地址,要复制出来这个地址,一会发送消息用。

最后 完成后,我们可以看到这个机器人。

那么我们在https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq 可以看到具体的使用方法。

注,钉钉优化了机器人,这里我安全设置的关键词给改成了测试报告,我们可以根据我们想法去设置我们的机器人。我们看下我们的钉钉机器人的发送代码。

代码语言:javascript复制
import requests
import json
def sendmessage(cont):
    message={

    "msgtype": "text",
    "text": {
    "content": cont
   }
    }
    url="自己的钉钉url"

    headers = {
    'Content-Type': 'application/json'

    }
    requests.post(url=url,data=json.dumps(message),headers=headers)

if  __name__=="__main__":
    sendmessage("测试报告")

发送完毕后:

这样就完成了 钉钉机器人的封装。那么我们对原来的代码进行改造

代码语言:javascript复制

import requests
import unittest
from config import baseurl
from readtxt import get
import ddt
from  HTMLTestRunnerCN import HTMLTestReportCN
from senddingtalk import sendmessage
restlue=get()
@ddt.ddt
class Testcase(unittest.TestCase):
    def tearDown(self) -> None:
        pass
    def setUp(self) -> None:
        pass
    @ddt.data(*restlue)
    def testone(self,restlue):
        url = baseurl   restlue['url']
        response = requests.request(restlue['method'], url, data=restlue['data'], headers=eval(restlue['headers']))

        self.assertTrue(restlue['assert'] in response.text)
if __name__=="__main__":
    import os
    suit=unittest.TestSuite()
    loader = unittest.TestLoader()
    suit.addTests(loader.discover(os.getcwd()))
    filePath = 'report.html'
    fp = open(filePath, 'wb')
    runner = HTMLTestReportCN(
        stream=fp,
        title='Test Report',
        description='Test Report'
    )
    runner.run(suit)
    fp.close()
    sendmessage("接口自动化测试完毕,测试报告已经生成,")

注:测试用例请从前面的文章获取,前面文章的代码上面进行优化的。

执行完毕,我们看下钉钉的消息。

这就是一个简单的通知,大家可以根据自身业务进行定制。

关注雷子说测试,后续分享更多,更有用的文章给大家。

0 人点赞