fix: update docs

Description:

Log:
This commit is contained in:
mikigo 2024-05-20 02:31:59 +08:00
parent 15d94253d5
commit 16769fc532
4 changed files with 117 additions and 153 deletions

View File

@ -55,6 +55,7 @@ $ sudo pip3 install youqu
<details>
<summary><b>不加 sudo ?</b></summary>
-----------------------
不加 sudo 也可以:
@ -64,7 +65,7 @@ pip3 install youqu
但可能出现 `youqu-startproject` 命令无法使用;
这是因为不加 sudo 时,`youqu-startproject` 命令会生成在 `$HOME/.local/bin` 下,
这是因为不加 `sudo` 时,`youqu-startproject` 命令会生成在 `$HOME/.local/bin` 下,
而此路径可能不在环境变量(`PATH`)中,因此您需要添加环境变量:
@ -72,6 +73,8 @@ pip3 install youqu
export PATH=$PATH:$HOME/.local/lib
```
-----------------------
</details>
@ -167,7 +170,7 @@ $ youqu manage.py remote
## [贡献]()
[贡献文档](https://github.com/linuxdeepin/youqu/blob/master/CONTRIBUTING.md)
[贡献文档](https://youqu.uniontech.com/CONTRIBUTING.html)
## [开源许可证]()

View File

@ -119,11 +119,7 @@ $ youqu manage.py run --app autotest_deepin_music --keywords "xxx" --tags "xxx"
通过配置文件配置参数
在配置文件 `setting/globalconfig.ini` 里面支持配置对执行的一些参数进行配置,常用的如:
```ini
<!--@include: ../../../setting/globalconfig.ini-->
```
在配置文件 [setting/globalconfig.ini](https://github.com/linuxdeepin/youqu/blob/master/setting/globalconfig.ini ) 里面支持配置对执行的一些参数进行配置;
配置完成之后,直接在命令行执行 `manage.py` 就好了。
@ -151,24 +147,13 @@ $ youqu manage.py remote
远程执行同样通过配置文件 `setting/globalconfig.ini` 进行用例相关配置;
需要重点说一下远程执行时的测试机信息配置,在配置文件 `setting/remote.ini` 里面配置测试机的用户名、`IP`、密码。
```ini
--8<-- "setting/remote.ini"
```
有多少台机器就像这样参考上面的格式写就行了。
然后在命令行:
<div class="termy">
```shell
$ youqu manage.py remote
```
</div>
这样运行是从配置文件去读取相关配置。
如果你不想通过配置文件,你仍然通过命令行参数进行传参,
@ -194,37 +179,28 @@ $ youqu manage.py remote
在命令行这样运行:
<div class="termy">
```shell
$ youqu manage.py remote -a autotest_deepin_music -c uos@10.8.13.xx/uos@10.8.13.xx -k "xxx" -t "xxx"
```
</div>
所有用例执行完之后会在 `report` 目录下回收各个测试机执行的测试报告。
注意,如果远程机器没有搭建自动化测试环境,记得加上参数 `-e`
<div class="termy">
```shell
$ youqu manage.py remote -a autotest_deepin_music -c uos@10.8.13.xx/uos@10.8.13.xx -k "xxx" -t "xxx" -e
```
</div>
执行前确保远程机器已经开启了 ssh 服务,否则会提示无法连接,如果没有开启,请手动开启:
<div class="termy">
```shell
$ sudo systemctl restart ssh
$ sudo systemctl enable ssh
```
</div>
配置文件其他相关配置项详细说明,请查看配置文件中的注释内容。
### 2. 多机器分布式异步负载均衡执行
@ -239,11 +215,119 @@ $ sudo systemctl enable ssh
使用方法和前面一样,只是需要增加一个参数 `--parallel`
<div class="termy">
```shell
$ youqu manage.py remote -a autotest_deepin_music -c uos@10.8.13.xx/uos@10.8.13.xx -k "xxx" -t "xxx" --parallel no
```
</div>
## 用例驱动方式
### 指定执行某一个用例
```python
# test_xxx_001.py
class TestCase:
def test_xxx_001_1(self):
...
def test_xxx_001_2(self):
...
```
仅驱动执行这一条用例:
```shell
youqu manage.py run -k test_xxx_001_1
```
如果你想执行这个 py 文件中所有的用例:
```shell
youqu manage.py run -k test_xxx_001
```
### 指定某个目录执行
```shell
autotest_my_app
├── case
│   ├── base_case.py
│   ├── __init__.py
│   ├── smoke
│   │ ├── test_mycase_001.py
│   │ └── test_mycase_002.py
```
驱动执行 `smoke` 目录下所有用例:
```shehll
youqu manage.py run -k smoke
```
### 执行某个APP工程的所有用例
```shell
youqu manage.py run -a apps/autotest_my_app
```
### 根据关键词执行
执行包含关键词的用例,关键词可以是用例对象中的任意字符,且大小写不敏感
模块名称、py 文件名称、类名、函数名等等都可以做为关键词
比如:`apps/autotest_deepin_music/case/test_music_001.py::TestMusic::test_music_001`
整个字符串中可以任意截取字符作为关键词。
关键词驱动支持` and/or/not` 表达式。
```shell
youqu manage.py run -k "music and deepin"
```
### 根据标签执行
基于 YouQu 特有的 CSV 文件管理的标签,也可以是传统的 Pytest 标签:`@pytest.mark.L1`
标签驱动支持` and/or/not` 表达式。
```shell
youqu manage.py run -t "L1 or smoke"
```
### 批量用例ID驱动执行
```shell
youqu manage.py run -t "id1 or id2 or id3 or id4"
```
### 测试单驱动执行
```shell
youqu manage.py run -a apps/autotest_xxx -u ut001234 -p my_password --task_id xxxx --send_pms async
```
### 测试套件驱动执行
```shell
youqu manage.py run -a apps/autotest_xxx -u ut001234 -p my_password --suit_id xxxx --send_pms async
```
### 本地用例文件驱动执行
```shell
youqu manage.py run -f test_suite.txt
```
`test_suite.txt` 中编写用例所在路径:
```txt
apps/autotest_deepin_music/case/test_music_001.py::TestMusic::test_music_001
apps/autotest_deepin_music/case/test_music_002.py::TestMusic
apps/autotest_deepin_music/case/test_music_003.py
apps/autotest_deepin_music/case/test_music_004.py
```

View File

@ -1,4 +1,4 @@
# 全自动日志
# 全自动日志——funnylog
## 背景

View File

@ -1,123 +0,0 @@
静态代码扫描
--------------
## 1. 提前解决代码问题
为了帮助开发者统一代码风格,`Python` 社区提出了 `PEP8` 代码编码风格,`Python` 官方同时推出了一个检查代码风格是否符合 `PEP8` 的工具,名字也叫 `PEP8`
但是,`Pycharm` 里面的 `PEP8` 插件实际上并不能发现很多代码问题,这些问题并不会在运行时报错,因为从 `Python` 语言角度并不关心这些问题,在 `Pycharm` 编辑器里面使用快捷键 `ctrl + alt + L`,有一点点格式化的效果,能解决一些空格、换行等小问题。
这里推荐一个 `Python` 社区流行的代码格式化工具:
`Black`,号称不妥协的代码格式化工具,它检测到不符合规范的代码风格直接就帮你全部格式化好,就是这么刚!
安装:
```python
sudo pip3 install black
```
使用方法:
```
black ${CheckPath}
```
使用这个工具格式化之后,代码会被自动调整,刚开始你可能会觉得调整得很夸张,没关系坚持看,习惯之后,你会觉得很优雅,没错,这就是 `Pythonic Code` 的核心,请保持优雅~。
## 2. 代码扫描工具
使用根目录下 `pylint.sh` 扫描代码,在 `report` 目录下查看代码扫描报告,如果有代码问题请提前解决之后再提交。
此脚本已经使用 `Python` 社区最流行的代码扫描工具 `Pylint` 进行代码扫描。
使用方法:
```shell
bash pylint.sh
```
运行之后会提示你要扫描的目录,比如输入 `apps` ,则会扫描 `apps` 下的所有 `Python` 代码。
`setting/pylintrc.cfg` 配置文件里面进行相关配置,扫描完成之后在 `report/pylints` 目录下会生成扫描报告。
代码提交需通过 `git review` 提交到 `gerrit` ,人工 `Code Review` 通过之后合入代码。
## 3. 安装依赖
```shell
sudo apt install git-review
```
## 4. 提交模板
`~` 目录下新建文件,并命名为 `gitcommit_template`
将以下内容写入文件当中:
```
# commit type :fix问题修复、feat功能开发、style(风格修改)、refactor(重构)、docs文档、chore其他)、test(测试) + 简单描述. 默认fix,根据情况修改
fix:
# 详细说明代码的改动,包含代码的实现思路,以及为什么这么做,可能会影响哪些功能。对于代码的审核者,需要从这段描述中能完全理解代码中所有改动的内容
Description:
# 写一段面向于产品的总结性内容用于自动生成crp上的changlog需要注意的事这段描述必须从产品的角度考虑。
Log:
# 关联pms上的bug号提交后则会自动在pms对应bug信息页面添加备注关联本次提交。若本次提交为修复bug相关则请取消注释
#Bug:
# 修复 github issue
#Issue:
# 关联pms上的任务号提交后则会自动在pms对应任务信息页面添加备注关联本次提交。若本次提交为任务相关则请取消注释
#Task:
```
命令行执行:
```shell
git config --global commit.template ~/gitcommit_template
```
此命令将模板加入到 `git` 的提交模板中。
后续提交的时候需要关注一下几点:
- `commit type` 对应不同的修改类型:`fix`(问题修复)、`feat`(功能开发)、`style` (风格修改)、`refactor` (重构)、`docs`(文档)、`chore`(其他)、`test` (测试)
- `commit type` 冒号后面加**空格**。
- `Description` 必要的情况下需要进行详细说明,比如对功能进行大改等。
## 5. 推送代码
首先添加 `commit` 信息
```shell
git add 后面加文件名称
```
```shell
git add . # 表示添加所有文件
```
使用这条命令注意有些临时文件不要提交到仓库了。
```shell
git commit -a
```
之后在 `fix: ` 后面(注意冒号后面必须加空格,不然直接-1写本地提交的 `commit` 信息,然后就可以提交代码了
```shell
git review branch(当前分支) -r origin
```
最好一次 `commit`,一次 `git review` ,经常有同学在本地疯狂 `commit` 最后 `git review` 报错不知道咋回事儿。
若不想每次提交都加上 `-r` 选项,执行以下命令:
```shell
git config --global gitreview.remote origin
```
提交代码,直接使用 `git review branch<目标分支>`,例如 `git review master`