我如何搭建自动化测试框架_05发邮件
参考连接;https://blog.51cto.com/huny/3265469
在上一节目的时候,已经完成测试报告的输出了,然后我发现在XtestRunner中,其实也包含了发送邮件,然后发送邮件其实也是很简单的,想着也应该快点结束这次学习,那就快点搞出来吧.
发送邮件的话,其实就是需要使用一个邮箱,然后再通过邮箱的接口去发送邮件给其他邮箱,在这个之前,这里以使用QQ邮箱为例,那么我就要去获取一下我的QQ邮箱的授权码啦.
然后我发现XtestRunner中集成了SMTP,那么调用方法就应该是一样的,不会差太远了吧.然后去到他的github地址,找到了例子,那么马上就可以起飞了=>https://github.com/SeldomQA/XTestRunner/blob/master/test/test_send_email.py
直接上代码吧
if __name__ == '__main__':
# 第一种手工一个个去添加测试用例
suit = unittest.TestSuite()
suit.addTests([
TestBaiDu("test_search_0"),
TestBaiDu("test_search_1")
])
#第一种手工一个个去添加测试用例
print("suit", suit)
#第二种的话,是通过一定的规则,比如test开头的代码去发现那个测试脚本,大家可以参考着使用啦!
# discover = unittest.defaultTestLoader.discover(r"E:\代码空间\auto_test_framework\cases", pattern='test_*.py') # iot_*.py表示iot_开头的所有测试用例
report = REPORT_PATH + '\\report.html'
print("report", report)
with(open(report, 'wb')) as fp:
runner = HTMLTestRunner(
stream=fp,
title='<project name>test report',
description='describe: ... ',
language='en',
)
runner.run(
testlist=suit,
# testlist=discover,
rerun=1,
save_last_run=False
)
try:
runner.send_email(
user="169688888888@qq.com", #这里哟啊注意啦,这里输入的是一个邮箱地址,而不是QQ号,我就自己挖了一个坑
password="XXXXXXXXXXXXXXX", #这个是QQ邮箱的授权码,教程很多,开启很容易,自行百度吧
host="smtp.qq.com", #这里要注意,用的是QQ邮箱去发送的话,就用那个,如果是126邮箱或者163邮箱的话,就用smtp.163.com!!!
to="169688888888@qq.com", 目的地址啦
subject="自动化测试的邮件",
attachments=report
)
except Exception as err:
print("err", err)
fp.close()
当然发送邮件之前,就是要上QQ邮箱去开启SMTP服务,获取授权码啦