Skip to content
📔 阅读量:

环境部署 - env.sh

安装

项目根目录下运行 env.sh 即可。

shell
$ bash env.sh

密码问题

使用的默认密码是 1

您可以使用 -p 选项传入密码:bash env.sh -p ${my_password}

也可以修改配置文件 setting/globalconfig.ini 里面的 PASSWORD 配置项;

定制依赖

1. 新增依赖

如果应用库还需要其他 Python 依赖库,只需要在应用库根目录下保存一个 requirement.txt 文件;

shell
autotest_xxx
├── requirement.txt
├── case	
...

里面写入需要安装的三方依赖,比如像这样:

shell
PyYAML==6.0  # 指定安装某个版本
requests  # 未指定版本则安装最新版

在执行 bash env.sh 时会一并将其安装。

如果多个应用库都存在 requirement.txt 文件,执行 env.sh 时会将多个 requirement.txt 文件一并加载;那么一定要注意多个 requirement.txt 文件可能存在相同的依赖被指定安装不同版本等等兼容性问题。

【deb 形式 Python 包】

在应用库根目录下保存一个 requirement_deb.txt 文件;

shell
autotest_xxx
├── requirement_deb.txt
├── case	
...

里面写入需要安装的三方依赖,比如像这样:

python3-pyaudio

2. 裁剪依赖

在某些情况下,可能你只需要安装一些最最基础的依赖,其他的都不需要,比如纯接口自动化的项目,它不需要 UI 自动化相关的依赖。

你只需要在应用库根目录下,存放一个 BASICENV 的普通文件,里面不需要写任何内容,这样执行 env.sh 时,只会安装最基础的依赖。

shell
autotest_xxx
├── BASICENV  # 可以使用:touch BASICENV 创建文件
├── case	
...

基础依赖仅安装最基础的几个包;

裁剪依赖新增依赖 是不冲突的,可以同时使用。

开发环境部署

在开发过程中,如果你想直接部署在本机上:

shell
$ bash env.sh -D

这种方式安装的环境不会有 youqu 这个命令,用例执行都使用 python3 驱动:

shell
$ python3 manage.py run

虚拟环境解释器

YouQu 默认采用虚拟化部署,虚拟环境实际安装的位置是在项目根目录下 .venv 目录。

激活虚拟环境

在开发过程中有可能需要在终端激活虚拟环境,以便进行一些开发调试;

在框架根目录下命令行输入:

shell
$ youqu-shell

即可在终端激活当前虚拟环境。

删除虚拟环境

在项目根目录下输入:

shell
$ youqu-rm

依赖治理

依赖治理原则

依赖最少化——始终保持最少的依赖项。

依赖治理思路

  • 使用标准库

    尽量使用标准库或系统预装库来实现功能。

    如果确实需要引入三方库,应该尽量将三方库里面使用到的部分剥离出来使用,从而避免全量引入三方库。

  • 面向服务的架构设计

    将功能进行服务化封装部署,通过服务接口、远程过程调用等方式提供功能。

依赖治理的意义

大多数情况下,在写一些功能时,首先想到的就是去搜索看有没有现成的工具直接能用,行话叫不要重复造轮子。

但这样做有一个很严重的问题,就是当你写一个大型项目时,会引入非常非常多的依赖。

依赖项越多,依赖关系就越复杂,后期越容易出问题,如依赖关系错乱冲突导致安装失败、依赖安装下载过程网络波动导致安装失败、安装过程耗时等等问题。