android-midscene-automation 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +17 -2
- package/package.json +1 -1
- package/src/pages/ConfigPage.vue +39 -38
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# 更新记录
|
|
2
2
|
|
|
3
|
+
## v0.1.16
|
|
4
|
+
|
|
5
|
+
- 参数配置页调整卡片顺序,将“预设 App 参数”移动到“运行配置”下方。
|
|
6
|
+
|
|
7
|
+
## v0.1.15
|
|
8
|
+
|
|
9
|
+
- README 新增 Midscene 与 Appium 两种测试方式对比,明确 Midscene 必须配置模型,Appium 不依赖模型。
|
|
10
|
+
- README 环境要求补充 Appium 3.x、UiAutomator2 Driver 的安装与启动说明。
|
|
11
|
+
- README 明确 Android 测试不需要 Playwright Chromium,仅源码中的 Web E2E 示例需要单独安装。
|
|
12
|
+
|
|
3
13
|
## v0.1.14
|
|
4
14
|
|
|
5
15
|
- 参数配置新增 Android SDK 路径和 Appium 回放报告目录;留空时分别读取系统默认 SDK 和启动目录下的 `output`。
|
package/README.md
CHANGED
|
@@ -18,7 +18,16 @@ Appium 方案完全不依赖大模型,不需要填写 Base URL、API Key、Mod
|
|
|
18
18
|
- Node.js 18+
|
|
19
19
|
- npm
|
|
20
20
|
- Android SDK / ADB,移动端自动化测试需要
|
|
21
|
-
-
|
|
21
|
+
- Appium 3.x 和 UiAutomator2 Driver,仅 Appium 录制回放方式需要
|
|
22
|
+
|
|
23
|
+
安装 Appium 相关依赖:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
npm install -g appium@3.5.0
|
|
27
|
+
appium driver install uiautomator2
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
使用 Appium 方式前需要运行 `appium` 启动服务;只使用 Midscene 时不需要安装或启动 Appium。
|
|
22
31
|
|
|
23
32
|
## 启动
|
|
24
33
|
|
|
@@ -52,7 +61,13 @@ npm install
|
|
|
52
61
|
npm run dev
|
|
53
62
|
```
|
|
54
63
|
|
|
55
|
-
|
|
64
|
+
Midscene Android 测试和 Appium 测试都不需要 Playwright Chromium。只有运行源码中的 Web E2E 示例时才需要单独安装:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
npx playwright install chromium
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Playwright 浏览器下载不走 npm registry。下载较慢时,可临时指定镜像:
|
|
56
71
|
|
|
57
72
|
```sh
|
|
58
73
|
PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright/ npx playwright install chromium
|
package/package.json
CHANGED
package/src/pages/ConfigPage.vue
CHANGED
|
@@ -112,6 +112,45 @@ const updateMidsceneProvider = (value: string) => {
|
|
|
112
112
|
</el-form>
|
|
113
113
|
</el-card>
|
|
114
114
|
|
|
115
|
+
<el-card shadow="never" class="config-module-card">
|
|
116
|
+
<template #header>
|
|
117
|
+
<div class="panel-header">
|
|
118
|
+
<div class="panel-header__title">
|
|
119
|
+
<span>预设 App 参数</span>
|
|
120
|
+
<el-tag v-if="appPresetForm.id" size="small" type="warning">编辑中</el-tag>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="panel-header__actions">
|
|
123
|
+
<el-button type="primary" :loading="isSavingAppPreset" @click="$emit('saveAppPreset')">
|
|
124
|
+
{{ appPresetForm.id ? '保存修改' : '保存 App' }}
|
|
125
|
+
</el-button>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</template>
|
|
129
|
+
|
|
130
|
+
<el-form label-position="top">
|
|
131
|
+
<el-form-item label="App 名称">
|
|
132
|
+
<el-input v-model="appPresetForm.name" placeholder="例如:示例 App" />
|
|
133
|
+
</el-form-item>
|
|
134
|
+
<el-form-item label="App 包名">
|
|
135
|
+
<el-input v-model="appPresetForm.packageName" placeholder="例如:com.example.app" />
|
|
136
|
+
</el-form-item>
|
|
137
|
+
</el-form>
|
|
138
|
+
|
|
139
|
+
<div class="app-preset-list">
|
|
140
|
+
<div v-for="app in appPresets" :key="app.id" class="app-preset-row">
|
|
141
|
+
<div class="app-preset-row__main">
|
|
142
|
+
<strong>{{ app.name }}</strong>
|
|
143
|
+
<span>{{ app.packageName }}</span>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="script-row__actions">
|
|
146
|
+
<el-button text size="small" :icon="Edit" @click="$emit('editAppPreset', app)" />
|
|
147
|
+
<el-button text size="small" :icon="Delete" @click="$emit('deleteAppPreset', app.id)" />
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
<el-empty v-if="!appPresets.length" description="暂无预设 App" />
|
|
151
|
+
</div>
|
|
152
|
+
</el-card>
|
|
153
|
+
|
|
115
154
|
<el-card shadow="never" class="config-module-card">
|
|
116
155
|
<template #header>
|
|
117
156
|
<div class="panel-header">
|
|
@@ -258,44 +297,6 @@ const updateMidsceneProvider = (value: string) => {
|
|
|
258
297
|
/>
|
|
259
298
|
</el-card>
|
|
260
299
|
|
|
261
|
-
<el-card shadow="never" class="config-module-card">
|
|
262
|
-
<template #header>
|
|
263
|
-
<div class="panel-header">
|
|
264
|
-
<div class="panel-header__title">
|
|
265
|
-
<span>预设 App 参数</span>
|
|
266
|
-
<el-tag v-if="appPresetForm.id" size="small" type="warning">编辑中</el-tag>
|
|
267
|
-
</div>
|
|
268
|
-
<div class="panel-header__actions">
|
|
269
|
-
<el-button type="primary" :loading="isSavingAppPreset" @click="$emit('saveAppPreset')">
|
|
270
|
-
{{ appPresetForm.id ? '保存修改' : '保存 App' }}
|
|
271
|
-
</el-button>
|
|
272
|
-
</div>
|
|
273
|
-
</div>
|
|
274
|
-
</template>
|
|
275
|
-
|
|
276
|
-
<el-form label-position="top">
|
|
277
|
-
<el-form-item label="App 名称">
|
|
278
|
-
<el-input v-model="appPresetForm.name" placeholder="例如:示例 App" />
|
|
279
|
-
</el-form-item>
|
|
280
|
-
<el-form-item label="App 包名">
|
|
281
|
-
<el-input v-model="appPresetForm.packageName" placeholder="例如:com.example.app" />
|
|
282
|
-
</el-form-item>
|
|
283
|
-
</el-form>
|
|
284
|
-
|
|
285
|
-
<div class="app-preset-list">
|
|
286
|
-
<div v-for="app in appPresets" :key="app.id" class="app-preset-row">
|
|
287
|
-
<div class="app-preset-row__main">
|
|
288
|
-
<strong>{{ app.name }}</strong>
|
|
289
|
-
<span>{{ app.packageName }}</span>
|
|
290
|
-
</div>
|
|
291
|
-
<div class="script-row__actions">
|
|
292
|
-
<el-button text size="small" :icon="Edit" @click="$emit('editAppPreset', app)" />
|
|
293
|
-
<el-button text size="small" :icon="Delete" @click="$emit('deleteAppPreset', app.id)" />
|
|
294
|
-
</div>
|
|
295
|
-
</div>
|
|
296
|
-
<el-empty v-if="!appPresets.length" description="暂无预设 App" />
|
|
297
|
-
</div>
|
|
298
|
-
</el-card>
|
|
299
300
|
</section>
|
|
300
301
|
</div>
|
|
301
302
|
</template>
|