敲代码敲到头发茂密
欲戴王冠,必承其重
展开
-
测试平台前端部署
将前后端打包文件拷贝到容器中的/usr/share/nginx/html/目录下。之前创建的nginx容器,没有前端数据映射。暴露80(后端访问)、81(前端访问)端口。制作nginx,Dockerfile。static:后端打包文件。nginx下的文件信息。dist:前端打包文件。原创 2023-09-15 09:42:24 · 303 阅读 · 0 评论 -
docker-compose部署测试平台
2、服务除了可以基于指定的镜像,还可以基于一份 Dockerfile,在使用 up 启动之时执行构建任务,这个构建标签就是 build,它可以指定 Dockerfile 所在文件夹的路径。2、例如在没启动数据库容器的时候启动了应用容器,这时候应用容器会因为找不到数据库而退出,为了避免这种情况我们需要加入一个标签,就是 depends_on,这个标签解决了容器的依赖、启动先后的问题。docker-compose可以通过脚本来批量构建镜像和启动容器,快速的部署项目。原创 2023-09-13 08:56:38 · 179 阅读 · 0 评论 -
测试平台部署三——Nginx
请求来了,首先会检查是不是静态文件,如果是静态文件就加载静态文件,如果不是静态文件,反向代理到 location @proxy_to_app块中,转交给http://ck14_django:8000。客户端发送请求http://82.156.178.247:5001/,到云服务器,宿主机和nginx容器映射,转发给nginx中的80端口,进行路由匹配,匹配到 location /块中。添加到root中,路径变为 /usr/share/nginx/html/static/原创 2023-09-12 11:04:28 · 266 阅读 · 1 评论 -
测试平台项目部署二(手动部署改成Dockerfile)
解决:将supervisord.conf文件中的user改为root,重新创建容器。安装pyyaml时,我把。–no-cache:不加缓冲。原创 2023-09-11 09:07:16 · 286 阅读 · 0 评论 -
测试平台项目部署一(手动部署)
(2)通过git stash 将工作区恢复到上次提交到内容,同时备份到本地所做到修改,之后就可以正常git pull了,git pull完成后,执行git bash pop将之前本地做的修改应用到当前工作区。git stash pop从git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。git stash 备份当前的工作内容区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。原创 2023-09-08 09:45:41 · 442 阅读 · 2 评论 -
测试平台——celery定时执行任务
celery beat是一个调度程序,它定期启动任务,然后由集群中的可用工作节点执行这些任务。原创 2023-08-24 09:29:50 · 190 阅读 · 0 评论 -
测试平台——异步执行任务
Celery是使用python编写的分布式任务调度框架。要在你的django项目中使用celery,首先需要定义一个Celery的实例。如果你有django项目如下:proj/manage.pyproj/urls.py那么推荐的方法是创建一个新的模块来定义芹菜实例:import os# 设置django的配置环境# 实例化celery# 为当前celery应用配置来源# 就可以在django的配置文件中配置celery的配置,只用在CELERY的前缀。原创 2023-08-21 09:37:20 · 245 阅读 · 0 评论 -
Python项目中怎么实现异步任务和定时任务
Celery是由Python开发、简单、灵活、可靠的分布式任务队列是一个处理异步任务的框架其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务。Celery侧重于实时操作,但对调度支持也很好,其每天可以处理数以百万计的任务。include:手动加载任务,然或报错,KeyError: ‘task02.write_log’如果任务定义在其他的py文件中,需要将任务(write_log)添加到include列表中;send和app对象在同一个py文件中,不用添加到include。原创 2023-08-16 13:27:35 · 386 阅读 · 0 评论 -
测试平台——bug模块开发
方法1:bug表与接口表的关系为多对一,bug中获取接口的url需要用关联关系字段interface。mixins类中的create方法和update方法不满足需求,需要重写这两个方法。问题:为什么self.request.user.username是空的?提交bug需要传入提交bug者,并且增加bug操作记录。原因是前端代码写的是bearer token。获取当前项目下的bug列表数据。获取当前项目下的所有的运行记录。获取测试计划下所有的运行记录。获取某条运行记录的详细信息。获取运行记录下的报告信息。原创 2023-08-14 08:27:03 · 168 阅读 · 0 评论 -
测试平台——报告模块、记录模块开发
特别注意:用例运行记录表与测试计划表的关系为多对一,用例运行记录表与项目没有直接的关联关系,但是可以通过测试计划表进行关联:plan__project。所以通过项目去查询测试记录:filterset_fields = [‘plan’,‘plan__project’]特别注意:用例记录只有在执行测试计划才会生成。特别注意:测试报告只有在执行测试计划才会生成。创建报告需要info和record两个字段。用例记录只有在执行测试计划才会生成。获取测试计划下的用例记录。获取项目下的用例记录。原创 2023-08-11 13:33:29 · 156 阅读 · 0 评论 -
测试平台——测试执行
1、获取测试数据2、检查env参数3、执行测试(run_case()方法封装在task.py文件)4、返回结果本项目中,测试的执行分三种:1.测试用例执行2.测试场景执行3.测试计划执行测试任务的执行逻辑为:当要执行某个测试任务时,需要提供测试环境,测试版本,测试参数,测试员,然后后端会根据对应的数据关系,去数据库中查询所有用例,组织成测试数据交给easytest去执行,然后把生成的结果写到数据库。原创 2023-08-09 23:22:27 · 168 阅读 · 0 评论 -
测试平台——测试计划应用模块
当一个视图集中有不同的方法需要使用不同的序列化器时,需要重写get_serializer_class()方法;当一个视图集中有不同的方法需要使用不同的查询集时,需要重写get_queryset()方法;包含信息:用例名称、所属接口、请求头、请求体、上传的文件参数、前置脚本、后置脚本。通过action装饰器,装饰其他的方法后,可以将其他的方法增加为当前视图集的接口。d、action的第一个参数是一个列表,表示这个接口需要响应的http请求的方法。当获取用例的详情数据时,需要获取当前用例的所属接口信息。原创 2023-08-07 08:13:16 · 140 阅读 · 0 评论 -
测试平台——项目模块模型类设计
不需要在复写get_queryset方法手动过滤,就可以通过url/test_envs/?project=1访问过滤数据了。在后端类视图或者视图集中添加filterset_fields属性即可实现指定字段过滤,例如改写环境管理视图集。除了能够覆盖默认查询集之外,REST 框架还包括对通用过滤后端的支持,允许您轻松构建复杂的搜索和过滤器。注意:当使用外键字段过滤时,如果级联模式是删除,则使用不存在的数据过滤会返回400响应。可以使用设置全局设置默认过滤器后端DEFAULT_FILTER_BACKENDS。原创 2023-08-05 17:13:51 · 766 阅读 · 0 评论 -
测试平台——用户模块开发
Django认证系统提供了用户模型类User,具体位置:django.contrib.auth.models.User;因为Django认证系统提供的用户模型类User中缺少我本次项目中需要的字段,需要重写定义User模型类,最好不要和User重名,我以UserModel命令自定义的User需要继承AbstractUser,同时还需要继承BaseModelmobile代码如下。原创 2023-08-04 09:11:28 · 158 阅读 · 0 评论 -
测试平台——项目工程创建和配置
原因:原BASE_DIR指向D:\django_project\ck14_platform\ck14_platform。现BASE_DIR:指向D:\django_project\ck14_platform。建立代码仓库时,生成的忽略文件(.gitignore)中已经默认忽略掉了*.log。开发过程中,产生的日志信息不需要代码仓库进行管理和记录。修改BASE_DIR:拼接.parent。项目的环境分为开发环境和生产环境。开发环境:用于编写和调试项目代码。生产环境:用于项目线上部署运行。原创 2023-07-31 09:43:07 · 274 阅读 · 0 评论 -
【django】模型类中数据的增删改查操作总结
Queryset对象是惰性计算的,当通过管理器创建queryset的时候,并不会直接去数据库中查询,只有真正的对queryset进行计算的时候才会到数据库中查询。什么时候?迭代、切片、索引、打印原创 2023-01-09 08:24:35 · 1615 阅读 · 39 评论 -
【django】关联模型类中数据的增删改查操作总结
在外键字段中使用related_name,可以自定义反向字段channel = models . ForeignKey('Channel' , on_delete = models . RESTRICT , null = True , help_text = '外键字段') , # 不允许删除, related_name = 'students'那么通过students进行操作同多对一。原创 2023-01-08 10:25:11 · 948 阅读 · 35 评论 -
【django】项目开发准备之数据库配置
如果启动成功,表示数据库配置成功,否则配置失败。查看启动容器是否成功。原创 2023-01-02 21:22:54 · 668 阅读 · 3 评论 -
【django】各种关联关系的模型类设计
已知学生表、学生详情表、课程表、报名表、渠道表;其中学生表和学生详情表的关联关系为一对一;学生表和课程表的关系为多对多;学生表和渠道表的关系为一对多;虽然django会自定义第三张中间表,但是不能提供额外的字段,如果中间表需要包含其他字段,就需要自定义中间表,然后在定义多对多字段的时候,通过through参数指定第三张中间表。原创 2023-01-01 22:10:43 · 852 阅读 · 34 评论 -
【django】HttpRequest对象的属性和路由补充
等同于path('student/pk',views.student_detail)当将mouth和year进行调换位置。当将mouth和year进行调换位置。当传入非数字时:会报错。原创 2022-12-31 18:24:21 · 579 阅读 · 2 评论