当前位置:首页 > Web开发 > 正文

FasterRunner (httptunner+django)搭建以及小功能补充

2024-03-31 Web开发

标签:

配置 下载地址
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

技术图片

fastrunner/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