FasterRunner (httptunner+django)搭建以及小功能补充
标签:
配置 下载地址https://github.com/httprunner/FasterRunner
后端配置
https://www.jianshu.com/p/e26ccc21ddf2
前端配置
https://www.cnblogs.com/luopan/p/10250485.html
mac下安装RabbitMq
https://www.cnblogs.com/yihuihui/p/9095130.html
入口
:8080/fastrunner/login
问题:
1. pycharm 创建的虚拟环境不能pip
https://www.jianshu.com/p/e46e36addf8d
2. pymysql/mysqlclient caching_sha2_password,
https://blog.csdn.net/weekdawn/article/details/81039382 部分功能配置及补充 定时任务 1. setting.py
djcelery.setup_loader() CELERY_ENABLE_UTC = True CELERY_TIMEZONE = ‘Asia/Shanghai‘ # BROKER_URL = ‘amqp://username:[email protected]:5672//‘ BROKER_URL = ‘amqp://guest:[email protected]:5672//‘ CELERYBEAT_SCHEDULER = ‘djcelery.schedulers.DatabaseScheduler‘ CELERY_RESULT_BACKEND = ‘djcelery.backends.database:DatabaseBackend‘ CELERY_ACCEPT_CONTENT = [‘application/json‘] CELERY_TASK_SERIALIZER = ‘json‘ CELERY_RESULT_SERIALIZER = ‘json‘ CELERY_TASK_RESULT_EXPIRES = 7200 CELERYD_CONCURRENCY = 1 if DEBUG else 5 CELERYD_MAX_TASKS_PER_CHILD = 40
2.定时服务cd /home/conan/conan-ta/FasterRunner/ nohup python3 manage.py celery beat -l info >> /Users/zd/Documents/FasterRunner/logs/beat.log 2>&1 & cd /home/conan/conan-ta/FasterRunner/ celery multi start w1 -A FasterRunner -l info --logfile=http://www.mamicode.com/Users/zd/Documents/FasterRunner/logs/worker.log 2>&1 &
3.调试定时任务 更改定时相关逻辑时,需要关掉并重新启动celery beat,celery multi 才会生效,打印出来的调试信息在logs/worker.log下查看。 举例:定时任务,,增加发送邮件的标题:
fastrunner/utils/task.py
setting.py
# 发邮件 EMAIL_BACKEND = ‘django.core.mail.backends.smtp.EmailBackend‘ EMAIL_SEND_USERNAME = ‘[email protected]‘ # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务 EMAIL_SEND_PASSWORD = ‘‘ # 邮箱密码 EMAIL_PORT = 25 EMAIL_USE_TLS = True
fastrunner/utils/email.py
import smtplib from email.mime.text import MIMEText from email.header import Header from FasterRunner.settings import EMAIL_SEND_USERNAME, EMAIL_SEND_PASSWORD def send_email_reports(receiver,save_summary,Cc=None,title=None): receiver = receiver.rstrip(‘;‘) all_receivers = receiver.split(‘;‘) if ‘@sina.com‘ in EMAIL_SEND_USERNAME: smtpserver = ‘smtp.sina.com‘ elif ‘@163.com‘ in EMAIL_SEND_USERNAME: smtpserver = ‘smtp.163.com‘ else: smtpserver = ‘smtp.exmail.qq.com‘ if title: subject = "【%s】接口自动化测试报告"%title else: subject = "接口自动化测试报告" smtp = smtplib.SMTP_SSL(smtpserver, 465) smtp.login(EMAIL_SEND_USERNAME, EMAIL_SEND_PASSWORD) msg = MIMEText(save_summary, "html", "utf-8") msg["Subject"] = Header(subject, "utf-8") msg[‘From‘] = Header(‘no-reply‘, ‘utf-8‘) msg[‘To‘] = receiver # 处理抄送 if Cc: Cc = Cc.rstrip(‘;‘) msg[‘Cc‘] = Cc all_receivers = receiver + ‘;‘ + Cc all_receivers = all_receivers.split(‘;‘) smtp.sendmail(EMAIL_SEND_USERNAME, all_receivers, msg.as_string())
fastrunner/tasks.py
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/40383.html