前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python接口自动化测试完毕--钉钉发送测试结果

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

作者头像
雷子
发布2021-03-15 16:12:00
1.2K0
发布2021-03-15 16:12:00
举报
文章被收录于专栏:雷子说测试开发

在前面的几篇文章中,

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("接口自动化测试完毕,测试报告已经生成,")

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档