小言_互联网的博客

【接口测试实战(一)】搭建接口测试环境

510人阅读  评论(0)



前情:

《【接口测试实战(零)】接口测试简介》


0)项目环境准备

开始接口测试前,先得搭建一套本地可以运行的接口环境。本次使用的是学生管理系统,由测试奇谭分享,是用Python代码写的,因此需要Python环境。

1、Python的安装就不多说了。

2、Pycharm的安装:可以参考我之前的一篇实战系列文章《【实战学习(二)】开源项目学习之准备工作》


1)项目部署

1、解压项目后,用Pycharm打开项目

2、安装项目依赖的模块

  • 需要注意的是:在同一个python环境中安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如果同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败

  • 解决这个问题的方案是:虚拟环境。虚拟环境是真实python环境的复制版本。在虚拟环境中使用的python是复制的python,安装python包也是安装在复制的python中。

  • virtualenv(虚拟环境) 和 virtualenvwrapper(虚拟环境扩展包) 为每个项目提供独立环境。具体的介绍、安装和使用同样可参考《【实战学习(二)】开源项目学习之准备工作》

进入虚拟环境,并安装项目依赖的模块:

pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
  • pip 安装依赖 requirements.txt

    • 列出已安装的包:pip freeze 或者 pip list
    • 在线安装:pip install <包名> 或 pip install -r requirements.txt
    • 更换国内pypi镜像,国内pypi镜像:
      • V2EX:pypi.v2ex.com/simple
      • 豆瓣:http://pypi.douban.com/simple
      • 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
    • 指定单次安装源:pip install <包名> -i http://pypi.v2ex.com/simple

  • 安装过程中遇到"No matching distribution found for itypes==1.1.0"等问题

    • 报错:
    • 解决方法:
      • 通常更换国内安装源和设置超时时间可以解决(在pip install XXX命令的后面加上
        –default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple即可,或者更换安装源。)

3、启动项目

输入 python run_server.py 启动项目。

run_server.py具体的内容如下:

# encode=utf-8
import os
os.chdir("./studentManagementSystem")
os.system("python manage.py runserver 0.0.0.0:8099")  # 启动地址

runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的 WSGI Server运行,主要在测试和开发中使用。

  • 首先 Django 告诉我们如何访问项目,通过 http://0.0.0.0:8099 访问创建好的项目,8000 是 Django 的默认端口号,为避免端口被占用,因此这里改为8099,IP是本机127.0.0.1,均可以在run_server.py中自行修改。
  • 最后如若想退出运行状态,可以通过 CTRL+C 来终止。

关于Django框架的更多内容可参考《【实战学习(三)】开源项目学习之Django框架简介以及启动》

  • 报错之"Generator expression must be parenthesized"

        from django.contrib.admin.filters import (
      File "C:\Users\Facek\Envs\apitest\lib\site-packages\django\contrib\admin\filters.py", line 10, in <module>
        from django.contrib.admin.options import IncorrectLookupParameters
      File "C:\Users\Facek\Envs\apitest\lib\site-packages\django\contrib\admin\options.py", line 12, in <module>
        from django.contrib.admin import helpers, widgets
      File "C:\Users\Facek\Envs\apitest\lib\site-packages\django\contrib\admin\widgets.py", line 151
        '%s=%s' % (k, v) for k, v in params.items(),
        ^
    SyntaxError: Generator expression must be parenthesized
    
    
    • 原因:出现问题的原因是python3.7和Django不够兼容。
    • 解决方法:跳转到报错路径下,将该行代码最后的逗号删除即可解决问题。

解决报错后重新启动项目:

4、验证服务是否启动成功

  • 浏览器验证:

    在浏览器输入:IP:端口/api/departments/,如果能获取到数据,证明服务启动成功。

  • Postman验证:

    Postman的相关介绍、安装和基本操作可以参考《【测试工具】Postman之安装和基本使用》

    接口清单.txt可以知道,查询学院所有的信息的请求方法是GET,请求地址是http://127.0.0.1:8099/api/departments/

以上,环境准备就绪。



【部分内容参考自】

  • pip 安装依赖 requirements.txt:https://www.cnblogs.com/lexus168/p/13565766.html
  • python模块安装问题:no matching distribution found for XXX 或者 Read timed out.:https://blog.csdn.net/zhang_han666/article/details/88286010
  • 接口测试实战项目01:接口测试环境搭建:https://mp.weixin.qq.com/s?__biz=MzI0ODUyMDA2MQ==&mid=2247484953&idx=1&sn=29360322757e0b50df9aa67eb441ca71&chksm=e99eca0bdee9431dffa0293c80ebd933ac5f9539f5efa949fd1c26d68c9eb1c0970e410d4d2b&scene=21#wechat_redirect

转载:https://blog.csdn.net/m0_37621024/article/details/117374358
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场