环境部署 - env.sh
安装
项目根目录下运行 env.sh
即可。
$ bash env.sh
密码问题
使用的默认密码是 1
;
您可以使用 -p
选项传入密码:bash env.sh -p ${my_password}
;
也可以修改配置文件 setting/globalconfig.ini
里面的 PASSWORD
配置项;
定制依赖
1. 新增依赖
如果应用库还需要其他 Python
依赖库,只需要在应用库根目录下保存一个 requirement.txt
文件;
autotest_xxx
├── requirement.txt
├── case
...
里面写入需要安装的三方依赖,比如像这样:
PyYAML==6.0 # 指定安装某个版本
requests # 未指定版本则安装最新版
在执行 bash env.sh
时会一并将其安装。
如果多个应用库都存在 requirement.txt
文件,执行 env.sh
时会将多个 requirement.txt
文件一并加载;那么一定要注意多个 requirement.txt
文件可能存在相同的依赖被指定安装不同版本等等兼容性问题。
【deb 形式 Python 包】
在应用库根目录下保存一个 requirement_deb.txt
文件;
autotest_xxx
├── requirement_deb.txt
├── case
...
里面写入需要安装的三方依赖,比如像这样:
python3-pyaudio
2. 裁剪依赖
在某些情况下,可能你只需要安装一些最最基础的依赖,其他的都不需要,比如纯接口自动化的项目,它不需要 UI
自动化相关的依赖。
你只需要在应用库根目录下,存放一个 BASICENV
的普通文件,里面不需要写任何内容,这样执行 env.sh
时,只会安装最基础的依赖。
autotest_xxx
├── BASICENV # 可以使用:touch BASICENV 创建文件
├── case
...
基础依赖仅安装最基础的几个包;
裁剪依赖
和 新增依赖
是不冲突的,可以同时使用。
开发环境部署
在开发过程中,如果你想直接部署在本机上:
$ bash env.sh -D
这种方式安装的环境不会有 youqu
这个命令,用例执行都使用 python3
驱动:
$ python3 manage.py run
虚拟环境解释器
YouQu 默认采用虚拟化部署,虚拟环境实际安装的位置是在项目根目录下 .venv
目录。
激活虚拟环境
在开发过程中有可能需要在终端激活虚拟环境,以便进行一些开发调试;
在框架根目录下命令行输入:
$ youqu-shell
即可在终端激活当前虚拟环境。
删除虚拟环境
在项目根目录下输入:
$ youqu-rm
依赖治理
依赖治理原则
依赖最少化——始终保持最少的依赖项。
依赖治理思路
使用标准库
尽量使用标准库或系统预装库来实现功能。
如果确实需要引入三方库,应该尽量将三方库里面使用到的部分剥离出来使用,从而避免全量引入三方库。
面向服务的架构设计
将功能进行服务化封装部署,通过服务接口、远程过程调用等方式提供功能。
依赖治理的意义
大多数情况下,在写一些功能时,首先想到的就是去搜索看有没有现成的工具直接能用,行话叫不要重复造轮子。
但这样做有一个很严重的问题,就是当你写一个大型项目时,会引入非常非常多的依赖。
依赖项越多,依赖关系就越复杂,后期越容易出问题,如依赖关系错乱冲突导致安装失败、依赖安装下载过程网络波动导致安装失败、安装过程耗时等等问题。