339 lines
11 KiB
INI
339 lines
11 KiB
INI
;=============================== RUN CONFIG ===================================
|
||
[run]
|
||
;执行的应用名称
|
||
;为空表示执行 apps/ 目录下所有应用的用例
|
||
;eg: apps/autotest_deepin_music 或 autotest_deepin_music
|
||
APP_NAME =
|
||
|
||
;执行包含关键词的用例,关键词可以是用例对象中的任意字符,且大小写不敏感
|
||
;模块名称、py文件名称、类名、函数名等等都可以做为关键词
|
||
;比如:apps/autotest_deepin_music/case/test_music_001.py::TestMusic::test_music_001
|
||
;整个字符串中可以任意截取字符作为关键词。
|
||
KEYWORDS =
|
||
|
||
;执行包含用例标签的用例
|
||
;标签可以是传统的pytest标签:@pytest.mark.L1
|
||
;也可以是YouQu特有的CSV文件管理的标签;
|
||
;-----------------------------------------------------------
|
||
;1.KEYWORDS 和 TAGS 都为空表示执行 APP_NAME 的所有用例
|
||
;2.KEYWORDS 和 TAGS 都支持逻辑组合,即 and/or/not 的表达式
|
||
;比如:TAGS = L1 or smoke ,表示执行标签带有 L1 或 somke 标签的用例;
|
||
;这两个参数也可以同时使用,可以组合出任意的用例集合,只有想不到没有办不到。
|
||
;-----------------------------------------------------------
|
||
TAGS =
|
||
|
||
;本地文件测试套,将要执行的用例写入指定的 csv 文件
|
||
;默认为空,从基础框架根目录开始:e.g. CASE_FILE = case_list.txt
|
||
;如果这里有值,APP_NAME KEYWORDS TAGS 的配置均不生效
|
||
CASE_FILE =
|
||
|
||
;最大失败用例数量的占比
|
||
;比如:总执行用例数为 100, 若 MAX_FAIL = 0.5,则失败用例数达到 50 就会终止测试。
|
||
MAX_FAIL = 1
|
||
|
||
;单条用例的超时时间,如果一条用例的执行时间超时,这条用例会被停止,后续用例继续执行。
|
||
;单位为秒
|
||
;这是一个全局统一配置,如果某条用例需要单独配置超时时间,可以在用例中这样写:
|
||
;@pytest.mark.timeout(500)
|
||
;def test_xxx_001():
|
||
; ...
|
||
;会话超时(所有用例执行的超时时间)是根据全局超时配置和用例单独超时配置自动计算的。
|
||
CASE_TIME_OUT = 300
|
||
|
||
;失败用例重跑次数
|
||
;注意,RERUN = 1 表示重跑 1 次,即第一次用例执行失败会自动重跑 1 次,总共执行 2 次;
|
||
;如果第 2 次执行成功,结果成功,失败亦为失败。
|
||
RERUN = 1
|
||
|
||
;失败录屏从第几次失败开始录制视频。
|
||
;比如 RECORD_FAILED_CASE = 1 ,表示用例第 1 次执行失败之后开始录屏,RERUN >= RECORD_FAILED_CASE。
|
||
;1.关闭录屏:RECORD_FAILED_CASE > RERUN
|
||
;2.每条用例都录屏:RECORD_FAILED_CASE = 0
|
||
RECORD_FAILED_CASE = 1
|
||
|
||
;yes 每条用例执行之后进行环境清理
|
||
CLEAN_ALL = yes
|
||
|
||
;检查测试机分辨率, 比如:1920x1080, 多个分辨率检查用英文逗号连接。
|
||
;no: 表示不做分辨率校验
|
||
RESOLUTION = 1920x1080, 1080x1920, 3840x1080
|
||
|
||
;不跳过用例,csv文件里面标记了 skip-xxx的用例不跳过
|
||
NOSKIP = no
|
||
|
||
;ignore fixed
|
||
;no,只要标记了fixed的用例,即使标记了skip-,也会执行;
|
||
;yes,fixed不生效,仅通过skip跳过用例;
|
||
IFIXED = no
|
||
|
||
;要安装deb包的路径
|
||
;e.g : ~/Downloads/ 安装下载目录下的deb包,如果是远程执行,会自动拷贝到远程并安装。
|
||
DEB_PATH =
|
||
|
||
;DEBUG 模式执行用例,只收集不执行用例,也不做设备分辨率的检查。
|
||
DEBUG = no
|
||
|
||
;记录top命令查询的系统资源占用情况,TOP = 3 表示记录前3个进程。
|
||
TOP =
|
||
|
||
;指定用例执行次数
|
||
REPEAT =
|
||
|
||
;默认在所有测试完成之后输出报错信息.
|
||
;yes, 测试过程中立即显示报错
|
||
DURING_FAIL = no
|
||
|
||
;注册自启服务
|
||
AUTOSTART = no
|
||
|
||
;测试机的密码
|
||
PASSWORD = 1
|
||
|
||
;图像识别重试次数
|
||
IMAGE_MATCH_NUMBER = 1
|
||
|
||
;图像识别重试每次间隔等待时间
|
||
IMAGE_MATCH_WAIT_TIME = 1
|
||
|
||
;图像识别匹配度
|
||
IMAGE_RATE = 0.8
|
||
|
||
;截取当前屏幕实时图像保存路径,用于图像识别坐标
|
||
SCREEN_CACHE = /tmp/screen.png
|
||
|
||
;截取屏幕上指定区域图片,保存临时图片的路径
|
||
TMPDIR = /tmp/tmpdir
|
||
|
||
;系统主题
|
||
SYS_THEME = deepin
|
||
|
||
;=============================== OCR CONFIG ===================================
|
||
;OCR服务端地址
|
||
OCR_SERVER_HOST = 10.8.13.7/10.8.13.66/10.8.13.55/10.8.13.100
|
||
|
||
;OCR端口
|
||
OCR_PORT = 8890
|
||
|
||
;网络重试次数
|
||
OCR_NETWORK_RETRY = 1
|
||
|
||
;OCR_TIMEOUT时间内重试间隔
|
||
OCR_PAUSE = 1
|
||
|
||
;OCR识别的总超时
|
||
OCR_TIMEOUT = 5
|
||
|
||
;OCR识别的最大次数
|
||
OCR_MAX_MATCH_NUMBER = 100
|
||
|
||
;=============================== IMAGE CONFIG ===================================
|
||
;OpenCV服务端地址
|
||
OPENCV_SERVER_HOST = 10.8.12.175
|
||
|
||
;图像识别端口
|
||
OPENCV_PORT = 8889
|
||
|
||
;网络重试次数
|
||
OPENCV_NETWORK_RETRY = 1
|
||
|
||
;OPENCV_TIMEOUT
|
||
OPENCV_PAUSE = 1
|
||
|
||
;图像识别的总超时
|
||
OPENCV_TIMEOUT = 5
|
||
|
||
;图像识别的最大次数
|
||
OPENCV_MAX_MATCH_NUMBER = 100
|
||
|
||
;=============================== SLAVE CONFIG ===================================
|
||
;附属的测试机,用例步骤中与其他机器进行交互
|
||
; ┌─ slave ${user}@${ip}:${password}
|
||
; master ┼─ slave mikigo@192.168.8.11:admin123
|
||
; └─ slave ${user}@${ip}
|
||
;如果${password}和前面配置项PASSWORD一样,可以不传:${user}@${ip}
|
||
;多个机器之间用斜线分割:${user}@${ip}:${password}/${user}@${ip}
|
||
SLAVES =
|
||
|
||
;=============================== Web UI CONFIG ===================================
|
||
;为Web UI自动化测试提供一个fixture对象:page,它默认使用系统自带的浏览器进行测试。
|
||
;框架还提供一个fixture对象:native_page,它使用最新的chromium浏览器进行测试。
|
||
;以下配置项默认值为系统自带的浏览器的配置,如果是其他第三方的浏览器可以指定浏览器对应的路径。
|
||
; def test_xxx_001(page):
|
||
; page.goto("www.baidu.com")
|
||
;
|
||
; def test_xxx_001(native_page):
|
||
; native_page.goto("www.baidu.com")
|
||
|
||
;指定浏览器启动的用户数据缓存目录
|
||
USER_DATE_DIR = {{HOME}}/.config/browser
|
||
|
||
;指定浏览器可执行文件路径
|
||
EXECUTABLE_PATH = /usr/bin/browser
|
||
|
||
;=============================== REMOTE CONFIG ===================================
|
||
[remote]
|
||
;发送代码到测试机(不含report目录)
|
||
SEND_CODE = yes
|
||
|
||
;搭建测试环境
|
||
;如果为yes,不管send_code是否为yes都会发送代码到测试机。
|
||
BUILD_ENV = no
|
||
|
||
;测试机密码
|
||
CLIENT_PASSWORD = 1
|
||
|
||
;yes表示所有测试机并行跑,执行相同的测试用例。
|
||
;no表示测试机分布式执行,服务端会根据收集到的测试用例自动分配给各个测试机执行。
|
||
PARALLEL = yes
|
||
|
||
;清理 report 目录
|
||
CLEAN_SERVER_REPORT_DIR = no
|
||
CLEAN_CLIENT_REPORT_DIR = yes
|
||
|
||
;测试机轮询次数
|
||
SCAN = 300
|
||
|
||
;远程执行测试机
|
||
; ┌─ client ${user}@${ip}:${password}
|
||
; youqu-server ┼─ client mikigo@192.168.8.11:admin123
|
||
; └─ client ${user}@${ip}
|
||
;如果${password}和前面配置项CLIENT_PASSWORD一样,可以不传:${user}@${ip}
|
||
;多个机器之间用斜线分割:${user}@${ip}:${password}/${user}@${ip}
|
||
CLIENTS =
|
||
|
||
;=============================== REPORT CONFIG ===================================
|
||
[report]
|
||
;测试报告的title
|
||
REPORT_TITLE = YouQu Report
|
||
|
||
;测试报告的name
|
||
REPORT_NAME = YouQu Report
|
||
|
||
;测试报告的默认语言
|
||
;en:English
|
||
;ru:Русский
|
||
;zh:中文
|
||
;de:Deutsch
|
||
;nl:Nederlands
|
||
;he:Hebrew
|
||
;br:Brazil
|
||
;pl:Polski
|
||
;ja:日本語
|
||
;es:Español
|
||
;kr:한국어
|
||
;fr:Français
|
||
;az:Azərbaycanca
|
||
REPORT_LANGUAGE = zh
|
||
|
||
;用例执行完后生成的测试报告格式
|
||
;目前支持 allure, xml, json (支持同时生成)
|
||
REPORT_FORMAT = allure, xml, json
|
||
|
||
;指定报告生成的路径(相对项目根目录下)
|
||
ALLURE_REPORT_PATH = report/
|
||
XML_REPORT_PATH = report/
|
||
JSON_REPORT_PATH = report/
|
||
|
||
;=============================== PMS CONFIG ===================================
|
||
;PMS相关配置,包含以下几个方面:
|
||
;1.PMS测试套执行
|
||
;2.自动从PMS爬取数据并同步本地CSV文件
|
||
;3.PMS数据回填
|
||
[pmsctl]
|
||
;PMS的用户名,如: ut001234
|
||
PMS_USER =
|
||
|
||
;PMS的密码
|
||
PMS_PASSWORD =
|
||
|
||
;PMS测试套的ID
|
||
;在PMS上查看用例“套件”链接: https://pms.uniontech.com/testsuite-view-495.html
|
||
;测试套ID为: 495
|
||
SUITE_ID =
|
||
|
||
;数据回填必须关联PMS测试单
|
||
;在PMS上查看测试单链接: https://pms.uniontech.com/testtask-cases-20747.html
|
||
;测试单ID为: 20747
|
||
TASK_ID =
|
||
|
||
;将测试结果数据回填到PMS
|
||
;为空: 表示不回填,不会在每条用例执行完之后生成json结果文件;
|
||
;async: 表示逐条异步回填,后面一条执行开始时通过子线程对前一条用例的执行结果进行回填,如此实现时间效率最大化;
|
||
;finish: 表示所有用例执行完成之后逐个回填;
|
||
SEND_PMS =
|
||
|
||
;数据回填的触发者
|
||
;auto: 框架自动回填,配合SEND_PMS配置使用,你可以选择在不同的阶段进行数据回填;
|
||
;hand: 手动回填,每条用例仍然会生成json文件,但框架不会进行数据回填,需要你可以在你想要发送的时间点手动触发回填;
|
||
TRIGGER = auto
|
||
|
||
;PMS回填的重试次数
|
||
;如果接口请求失败,会进行重试
|
||
SEND_PMS_RETRY_NUMBER = 2
|
||
|
||
;caselib: 用例库
|
||
;testcase: 产品库用例
|
||
CASE_FROM = caselib
|
||
|
||
[pmsctl-pms_link_csv]
|
||
;同步PMS数据到本地CSV文件,必须要配置的配置项
|
||
;key是本地CSV文件的文件名称;
|
||
;value是对应PMS上的模块ID;
|
||
;比如要同步音乐的数据, 首先需要将配置 APP_NAME = deepin-music,
|
||
;CSV文件名称为music.csv,其在PMS上的音乐用例库的URL为: https://pms.uniontech.com/caselib-browse-81.html
|
||
;因此应该配置为: music = 81
|
||
;这样才能将PMS与本地CSV文件建立联系。
|
||
;如果你的应用分了很多模块,只需要将对应的信息依次配置好就行了。
|
||
music =
|
||
|
||
[csvctl]
|
||
;将py文件的case id同步到csv文件
|
||
;yes, 开启同步
|
||
PY_ID_TO_CSV = no
|
||
|
||
;导出的csv文件名称,比如:case_list.csv
|
||
EXPORT_CSV_FILE =
|
||
|
||
;导出 case_list.csv 文件时配置的字段名,用例名称默认存在第一列,无需添加
|
||
EXPORT_CSV_HEARD = 用例级别,用例类型,测试级别,下线CD
|
||
|
||
|
||
[log_cli]
|
||
;日志相关配置(不打印构造函数和魔法函数的功能说明)
|
||
;批量执行时,终端输出的日志级别 DEBUG/INFO/ERROR
|
||
LOG_LEVEL = DEBUG
|
||
|
||
# ============= 自动输出日志的配置 ================
|
||
;支持类名以 xxx 开头的,自动将函数说明打印为日志, 多个参数以逗号隔开
|
||
CLASS_NAME_STARTSWITH = Assert
|
||
|
||
;支持类名以 xxx 结尾的,自动将函数说明打印为日志,多个参数以逗号隔开
|
||
CLASS_NAME_ENDSWITH = Widget,Page
|
||
|
||
;支持类名包含 xxx 的,自动将函数说明打印为日志,多个参数以逗号隔开
|
||
CLASS_NAME_CONTAIN = ShortCut
|
||
# ==============================================
|
||
|
||
;=============================== PMS CONFIG ===================================
|
||
;git子命令用于拉取子项目仓库代码,也可统计某两个commit之间或一段时间内用例和方法的修改数据。
|
||
[git]
|
||
;git仓库的地址
|
||
GIT_URL =
|
||
|
||
;git仓库的用户名
|
||
GTI_USER =
|
||
|
||
;git仓库的密码
|
||
GIT_PASSWORD =
|
||
|
||
;git仓库的分支
|
||
BRANCH =
|
||
|
||
;git clone 时的深度(--depth)
|
||
DEPTH =
|
||
|
||
;起始日期
|
||
START_DATE =
|
||
|
||
;结束日期
|
||
END_DATE = |