• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# run命令
2**run命令比较复杂,包含多种选项。框架在解析run命令的组合后,根据命令运行测试套。run命令涉及的选项可分为执行类选项和约束类选项。**
3
4## 1.执行类选项
5> 执行选项是与下文约束选项相对的概念。执行选项可以和run命令进行组合,形成一条有效的运行命令,从而将测试套运行起来。约束选项,则用于约束测试套运行时的行为,光有约束选项,执行框架是无法正确运行的。
6
7  - run
8
9    运行所有执行类型的xts测试套,如acts,hits,ssts等
10
11    | 格式 | 使用说明 | 实例 |
12    | :--- | :--- | :--- |
13    | run xts测试套名 | 运行所有执行类型的测试套 | run acts |
14
15  - run -l
16
17    运行指定的测试套。长选项为"run --testlist"。后面的之为测试套配置文件列表。命令执行后,框架会在testcases目录下找到对应的"测试套名.json",然后解析执行。
18    如下所示,用户输入 ACtsWifiTest 和 ActLwipTest两个模块,要求框架执行。
19
20    | 格式 | 使用说明 | 实例 |
21    | :--- | :--- | :--- |
22    | run -l 测试套1;测试套2 | 测试套之间以分号分隔 | run -l ActsWifiTest;ActsLwipTest |
23
24  - run -tf
25
26    指定测试套文件。长选项表示为"run --testfile"。
27
28    如下所示,用户指定了test/resoucre/test.txt文件作为模块选项的来源文件,框架将读取这个文件中的内容,解析后执行。
29
30    | 格式 | 使用说明 | 实例 |
31    | :--- | :--- | :--- |
32    | run -tf 测试套文本路径 | 用户可以指定一个测试套文件让框架来执行 | run -tf test/resoucre/test.txt |
33
34
35  - run -tc
36
37    指定测试用例。长选项表示为"run --testcase"。只支持devicetest类型的python用例
38
39    | 格式 | 使用说明 | 实例 |
40    | :--- | :--- | :--- |
41    | run -tc 测试用例文件名(无后缀) | 只支持devicetest类型的python用例 | run -tc XXX |
42
43
44  - run --retry
45
46    重新运行上一次的任务或者指定session的失败用例,重新生成测试报告。
47
48    如下所示,实例输入了一个session id,那么框架将在报告路径下找到这个包含这个session id的目录,从smmary_report.html中解析出失败用例,重新运行。
49
50    | 格式 | 使用说明 | 实例 |
51    | :--- | :--- | :--- |
52    | run --retry [--session session路径] | 如不指定session则重新运行上次失败的用例。否则,执行session中的失败用例 | run --retry <br> run --retry --session 2022-10-12-12-12-12 |
53
54
55## 2.约束选项
56
57> 约束选项,可以用于修饰执行选项也可以修饰约束选项。单独的约束选项和run命令的组合是无法被框架理解和执行的。
58
59  - -sn
60
61    通过设置参数的值来指定运行的设备
62
63    | 格式 | 使用说明 | 实例 |
64    | :--- | :--- | :--- |
65    | -sn 设备唯一标识号 | 参数后的值为:sn号或id:port的字符格式。多个设备之间以分号分隔。 | run acts -sn 10.117.22.3:123 <br> run acts -sn 12321412;123213123 |
66
67 - -rp
68
69    指定报告生成路径。长选项表示为"--reportpath"。默认会在项目的reports文件夹下用时间戳或任务id建立子目录。
70
71    如下所示,示例将报告生成路径进行了更改。本次执行任务的报告将生成在指定目录下。
72
73    | 格式 | 使用说明 | 实例 |
74    | :--- | :--- | :--- |
75    | -rp 指定路径 | 使用指定的路径将体态默认的报告生成路径 | run acts -rp /suites/hits/resport/XXXX  |
76
77 - -respath
78
79    指定测试所需要的资源路径。长选项表示为"--resourcepath"。如果设置了此参数,框架在加载资源时,会在指定目录下查找。
80
81    如下所示,示例设置了对应的资源路径。那么任务后续将在此目录下读取对应的资源进行操作。
82
83    | 格式                    | 使用说明                                                     | 实例                                        |
84    | :---------------------- | :----------------------------------------------------------- | :------------------------------------------ |
85    | -respath 指定的资源路径 | 资源目录默认为项目下的resoucre。如果用户设置了此参数,则将资源目录设为指定文件夹 | run acts -respath /suites/hits/res/resuorce |
86
87 - -ta
88
89    指定测试套运行参数,约束测试套在运行时的行为。长选项表示为"--targets"。-ta后的参数最终会被框架获取、解析、拼接成命令。
90
91    如下所示,-ta后的值将被框架读到,并指定模块后续行为。
92
93    以下可用参数只对OHJS驱动有效
94
95    | 可用参数 | 使用说明 | 实例 |
96    | :--- | :--- | :--- |
97    | class | 可以指定运行测试套中的指定用例,多个用例间以逗号分隔。 | run -l SoundTriggerTest -ta class:SoundTriggerTest#testKey,解释:只运行SoundTriggerTest测试套下的testKey用例,SoundTriggerTest中其他用例均不执行 |
98    | notClass | 指定不允许测试套中的哪些用例 | run -l SoundTriggerTest -ta notClass:SoundTriggerTest#testKey,解释:除了SoundTriggerTest测试套下的testKey用例,SoundTriggerTest中其他用例均执行 |
99    | stress | 指定测试套的运行次数 | run -l SoundTriggerTest -ta stress:100,解释:将测试套SoundTriggerTest运行100次 |
100    | level | 用例级别,可选参数:"0","1","2","3" | run -l SoundTriggerTest -ta level:1,解释:指定测试套SoundTriggerTest的用例级别为1 |
101    | size | 用例粒度,可选参数:"small","medium","large" | run -l SoundTriggerTest -ta size:small,解释:指定测试套SoundTriggerTest的用例粒度为small |
102    | testType | 用例测试类型,可选参数:"function","performance","reliability","security" | run -l SoundTriggerTest -ta testType:function,解释:指定测试套SoundTriggerTest的测试用例类型为function |
103    | enable_web_resource | 是否下载OpenHarmony官网测试资源,可选参数:"true","false" | run -l SoundTriggerTest -ta enable_web_resource:true,解释:开启下载云端资源功能 |
104
105 - -pt
106
107    指定-ta选项后的值的解析方式。长选项表示为"--passthrough"。需要配合-ta使用。-ta选项后的值,框架默认他是以组合方式存在的,多个组合之间以分号进行分隔。组合中如果存在多个元素,则元素之间以逗号进行分隔。
108
109    | 格式 | 使用说明 | 实例 |
110    | :--- | :--- | :--- |
111    | -pt true/false | 如果指定为true,则-ta参数的值会被框架整体作为一个字符串来解析。如果为false,则会按照默认的方式解析 | run hits -ta size:large -pt false |
112
113 - -env
114
115    指定配置文件内容。长选项表示为"-- environment"。用户设置了配置文件内容后,框架将不再读取config/user_config.xml,而是解析指定的xml字符串内容。
116
117    | 格式 | 使用说明 | 实例 |
118    | :--- | :--- | :--- |
119    | -env xml字符串 | Xml字符串必须符合user_config.xml规范。并且各个层级之间不允许存在换行符 | run -l XXXTest -env xxx |
120
121 - -c
122
123    指定当前任务的user_config.xml所在路径。长选项表示为"--config"。参数为一段有效路径。同-env命令有些相似,不过-env命令是将整个xml内容输入。
124
125    | 格式 | 使用说明 | 实例 |
126    | :--- | :--- | :--- |
127    | -c 包含user_config.xml的路径 | 框架将优先从指定路径中去读取user_config.xml | run -l XXXTest -c xxx |
128
129 - -t
130
131    指定当前任务的测试类型。长选项表示为"--testtype"。其值主要使用在可视化报告中,默认为Test。可选类型有UT,MST,ST,PERF,SEC,RELI,DST,All。
132
133    | 格式 | 使用说明 | 实例 |
134    | :--- | :--- | :--- |
135    | -t 类型名 | 如不填写,summary_report.html中默认为Test | run -l XXXTest -t ALL |
136
137 - -td
138
139    指定当前任务使用的驱动id。长选项表示为"--testdriver"。可填写的内容详见[测试支撑套件配置中的driver类型]()。
140
141    如下所示,ANSModuleTest模块使用CppTest作为驱动id。框架会使用CppTest的对应驱动执行任务。
142
143    | 格式 | 使用说明 | 实例 |
144    | :--- | :--- | :--- |
145    | -td 驱动id | 驱动id必须是框架提供的类型字符串 | run -l ANSModuleTest -td CppTest |
146
147 - -tcpath
148
149    指定用例测试用例路径。长选项表示为"--testcasespath"。框架默认使用项目下的testcase文件夹作为用例路径,如果指定了用例路径,则在指定路径下查找测试用例。
150
151    | 格式 | 使用说明 | 实例 |
152    | :--- | :--- | :--- |
153    | -tcpath 用例路径 |  | run -l XXXTest -tcpath D:/xxxx/xxxx |
154
155 - --session
156
157    指定运行session id下的内容。约束选项,需配合--retry使用。
158
159    如下所示,示例中指定了session id。框架在执行retry操作时,会在报告路径下寻找对应的文件进行解析,获取到失败的测试用例列表,然后重新执行。
160
161    | 格式 | 使用说明 | 实例 |
162    | :--- | :--- | :--- |
163    | --session sessionID | 重新执行指定sessionid中的失败用例 | run --retry --session 2022-12-11-12-11-22 |
164
165 - --dryrun
166
167    列举上次失败的测试用例选项。约束参数,需配合--retry使用。结果集打印分成几大部分。
168
169    > Session id:框架记录的上次任务的Session编号
170
171    > Command:上次任务使用的命令
172
173    > ReportPath:上次任务报告路径
174
175    > CasesInfo:上次任务的用例选项,包括模块(Module)、测试套(TestSuit)、测试用例(TestCase)
176
177    | 格式 | 使用说明 | 实例 |
178    | :--- | :--- | :--- |
179    | run --retry --dryrun | 固定用法。用于获取上次的失败用例的详细信息。结果分列显示在控制台上 | run --retry --dryrun |
180
181 - --reboot-per-module
182
183    指定执行本次任务的模块前是否重启设备。
184
185    | 格式 | 使用说明 | 实例 |
186    | :--- | :--- | :--- |
187    | --reboot-per-module | 直接在命令后输入执行项名即可 | run -l ANSTest --reboot-per-module |
188
189 - --check-device
190
191    验证设备。
192
193    如果设备不一致,则会出现错误"does not meet the requirement"。
194
195    | 格式 | 使用说明 | 实例 |
196    | :--- | :--- | :--- |
197    | --check-device | 验证ssts.json里properties的spt与实际运行的设备是否一致 | run ssts -l XXXTest --check-device  |
198
199 - --repeat
200
201    重复执行次数
202
203    | 格式     | 使用说明                                 | 实例                                                |
204    | :------- | :--------------------------------------- | :-------------------------------------------------- |
205    | --repeat | 在--repeat后空格,输入需要重复执行的次数 | run ssts -l XXX --repeat 3,表示重发运行XXX测试套3次 |
206
207 - -tl
208
209    长选项表示为"--testlevel",此参数为保留选项,目前框架没有使用到
210
211 - -cov
212
213    长选项表示为"--coverage",此参数为保留选项,目前框架没有使用到
214
215 - -bv
216
217    长选项表示为"--build_variant",此参数为保留选项,目前框架没有使用到
218