天天看点

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

        在前面的几篇文章中,

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

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

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

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

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

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

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

        选择添加机器人

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

选择自定义。

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

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

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

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

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

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

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

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

import requestsimport jsondef 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("测试报告")
           

发送完毕后:

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

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

import requestsimport unittestfrom config import baseurlfrom readtxt import getimport ddtfrom  HTMLTestRunnerCN import HTMLTestReportCNfrom senddingtalk import sendmessagerestlue=get()@ddt.ddtclass 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("接口自动化测试完毕,测试报告已经生成,")
           

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

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

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

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

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

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

继续阅读