@midscene/ios 1.2.1 → 1.2.2-beta-20260115065918.0
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/dist/es/bin.mjs +202 -3
- package/dist/es/index.mjs +202 -3
- package/dist/es/mcp-server.mjs +203 -4
- package/dist/lib/bin.js +202 -3
- package/dist/lib/index.js +202 -3
- package/dist/lib/mcp-server.js +203 -4
- package/dist/types/index.d.ts +23 -1
- package/dist/types/mcp-server.d.ts +23 -1
- package/package.json +5 -5
- package/static/index.html +1 -1
- package/static/static/js/{index.c1613c65.js → index.d0e3d61a.js} +5 -5
- package/static/static/js/index.d0e3d61a.js.map +1 -0
- package/static/static/js/index.c1613c65.js.map +0 -1
- /package/static/static/js/{index.c1613c65.js.LICENSE.txt → index.d0e3d61a.js.LICENSE.txt} +0 -0
package/dist/es/mcp-server.mjs
CHANGED
|
@@ -11,6 +11,190 @@ import { WDAManager, WebDriverClient } from "@midscene/webdriver";
|
|
|
11
11
|
import { exec } from "node:child_process";
|
|
12
12
|
import { platform } from "node:os";
|
|
13
13
|
import { promisify } from "node:util";
|
|
14
|
+
const defaultAppNameMapping = {
|
|
15
|
+
微信: 'com.tencent.xin',
|
|
16
|
+
企业微信: 'com.tencent.ww',
|
|
17
|
+
微信读书: 'com.tencent.weread',
|
|
18
|
+
微信听书: 'com.tencent.wehear',
|
|
19
|
+
QQ: 'com.tencent.mqq',
|
|
20
|
+
QQ音乐: 'com.tencent.QQMusic',
|
|
21
|
+
QQ阅读: 'com.tencent.qqreaderiphone',
|
|
22
|
+
QQ邮箱: 'com.tencent.qqmail',
|
|
23
|
+
QQ浏览器: 'com.tencent.mttlite',
|
|
24
|
+
TIM: 'com.tencent.tim',
|
|
25
|
+
微视: 'com.tencent.microvision',
|
|
26
|
+
腾讯新闻: 'com.tencent.info',
|
|
27
|
+
腾讯视频: 'com.tencent.live4iphone',
|
|
28
|
+
腾讯动漫: 'com.tencent.ied.app.comic',
|
|
29
|
+
腾讯微云: 'com.tencent.weiyun',
|
|
30
|
+
腾讯体育: 'com.tencent.sportskbs',
|
|
31
|
+
腾讯文档: 'com.tencent.txdocs',
|
|
32
|
+
腾讯翻译君: 'com.tencent.qqtranslator',
|
|
33
|
+
腾讯课堂: 'com.tencent.edu',
|
|
34
|
+
腾讯地图: 'com.tencent.sosomap',
|
|
35
|
+
小鹅拼拼: 'com.tencent.dwdcoco',
|
|
36
|
+
全民k歌: 'com.tencent.QQKSong',
|
|
37
|
+
支付宝: 'com.alipay.iphoneclient',
|
|
38
|
+
钉钉: 'com.laiwang.DingTalk',
|
|
39
|
+
闲鱼: 'com.taobao.fleamarket',
|
|
40
|
+
淘宝: 'com.taobao.taobao4iphone',
|
|
41
|
+
斗鱼: 'tv.douyu.live',
|
|
42
|
+
天猫: 'com.taobao.tmall',
|
|
43
|
+
口碑: 'com.taobao.kbmeishi',
|
|
44
|
+
饿了么: 'me.ele.ios.eleme',
|
|
45
|
+
高德地图: 'com.autonavi.amap',
|
|
46
|
+
UC浏览器: 'com.ucweb.iphone.lowversion',
|
|
47
|
+
一淘: 'com.taobao.etaocoupon',
|
|
48
|
+
飞猪: 'com.taobao.travel',
|
|
49
|
+
虾米音乐: 'com.xiami.spark',
|
|
50
|
+
淘票票: 'com.taobao.movie.MoviePhoneClient',
|
|
51
|
+
优酷: 'com.youku.YouKu',
|
|
52
|
+
菜鸟裹裹: 'com.cainiao.cnwireless',
|
|
53
|
+
土豆视频: 'com.tudou.tudouiphone',
|
|
54
|
+
抖音: 'com.ss.iphone.ugc.Aweme',
|
|
55
|
+
抖音极速版: 'com.ss.iphone.ugc.aweme.lite',
|
|
56
|
+
抖音火山版: 'com.ss.iphone.ugc.Live',
|
|
57
|
+
Tiktok: 'com.zhiliaoapp.musically',
|
|
58
|
+
飞书: 'com.bytedance.ee.lark',
|
|
59
|
+
今日头条: 'com.ss.iphone.article.News',
|
|
60
|
+
西瓜视频: 'com.ss.iphone.article.Video',
|
|
61
|
+
皮皮虾: 'com.bd.iphone.super',
|
|
62
|
+
美团: 'com.meituan.imeituan',
|
|
63
|
+
美团外卖: 'com.meituan.itakeaway',
|
|
64
|
+
大众点评: 'com.dianping.dpscope',
|
|
65
|
+
美团优选: 'com.meituan.iyouxuan',
|
|
66
|
+
美团优选团长: 'com.meituan.igrocery.gh',
|
|
67
|
+
美团骑手: 'com.meituan.banma.homebrew',
|
|
68
|
+
美团开店宝: 'com.meituan.imerchantbiz',
|
|
69
|
+
美团拍店: 'com.meituan.pai',
|
|
70
|
+
美团众包: 'com.meituan.banma.crowdsource',
|
|
71
|
+
美团买菜: 'com.baobaoaichi.imaicai',
|
|
72
|
+
京东: 'com.360buy.jdmobile',
|
|
73
|
+
京东读书: 'com.jd.reader',
|
|
74
|
+
网易新闻: 'com.netease.news',
|
|
75
|
+
网易云音乐: 'com.netease.cloudmusic',
|
|
76
|
+
网易邮箱大师: 'com.netease.macmail',
|
|
77
|
+
网易严选: 'com.netease.yanxuan',
|
|
78
|
+
网易公开课: 'com.netease.videoHD',
|
|
79
|
+
网易有道词典: 'youdaoPro',
|
|
80
|
+
有道云笔记: 'com.youdao.note.YoudaoNoteMac',
|
|
81
|
+
百度: 'com.baidu.BaiduMobile',
|
|
82
|
+
百度网盘: 'com.baidu.netdisk',
|
|
83
|
+
百度贴吧: 'com.baidu.tieba',
|
|
84
|
+
百度地图: 'com.baidu.map',
|
|
85
|
+
百度阅读: 'com.baidu.yuedu',
|
|
86
|
+
百度翻译: 'com.baidu.translate',
|
|
87
|
+
百度文库: 'com.baidu.Wenku',
|
|
88
|
+
百度视频: 'com.baidu.videoiphone',
|
|
89
|
+
百度输入法: 'com.baidu.inputMethod',
|
|
90
|
+
快手: 'com.jiangjia.gif',
|
|
91
|
+
快手极速版: 'com.kuaishou.nebula',
|
|
92
|
+
哔哩哔哩: 'tv.danmaku.bilianime',
|
|
93
|
+
芒果TV: 'com.hunantv.imgotv',
|
|
94
|
+
苏宁易购: 'SuningEMall',
|
|
95
|
+
微博: 'com.sina.weibo',
|
|
96
|
+
微博极速版: 'com.sina.weibolite',
|
|
97
|
+
微博国际: 'com.weibo.international',
|
|
98
|
+
墨客: 'com.moke.moke.iphone',
|
|
99
|
+
豆瓣: 'com.douban.frodo',
|
|
100
|
+
知乎: 'com.zhihu.ios',
|
|
101
|
+
小红书: 'com.xingin.discover',
|
|
102
|
+
喜马拉雅: 'com.gemd.iting',
|
|
103
|
+
得到: 'com.luojilab.LuoJiFM-IOS',
|
|
104
|
+
得物: 'com.siwuai.duapp',
|
|
105
|
+
起点读书: 'm.qidian.QDReaderAppStore',
|
|
106
|
+
番茄小说: 'com.dragon.read',
|
|
107
|
+
书旗小说: 'com.shuqicenter.reader',
|
|
108
|
+
拼多多: 'com.xunmeng.pinduoduo',
|
|
109
|
+
多点: 'com.dmall.dmall',
|
|
110
|
+
便利蜂: 'com.bianlifeng.customer.ios',
|
|
111
|
+
亿通行: 'com.ruubypay.yitongxing',
|
|
112
|
+
云闪付: 'com.unionpay.chsp',
|
|
113
|
+
大都会Metro: 'com.DDH.SHSubway',
|
|
114
|
+
爱奇艺视频: 'com.qiyi.iphone',
|
|
115
|
+
搜狐视频: 'com.sohu.iPhoneVideo',
|
|
116
|
+
搜狐新闻: 'com.sohu.newspaper',
|
|
117
|
+
搜狗浏览器: 'com.sogou.SogouExplorerMobile',
|
|
118
|
+
虎牙: 'com.yy.kiwi',
|
|
119
|
+
比心: 'com.yitan.bixin',
|
|
120
|
+
转转: 'com.wuba.zhuanzhuan',
|
|
121
|
+
YY: 'yyvoice',
|
|
122
|
+
绿洲: 'com.sina.oasis',
|
|
123
|
+
陌陌: 'com.wemomo.momoappdemo1',
|
|
124
|
+
什么值得买: 'com.smzdm.client.ios',
|
|
125
|
+
美团秀秀: 'com.meitu.mtxx',
|
|
126
|
+
唯品会: 'com.vipshop.iphone',
|
|
127
|
+
唱吧: 'com.changba.ktv',
|
|
128
|
+
酷狗音乐: 'com.kugou.kugou1002',
|
|
129
|
+
CSDN: 'net.csdn.CsdnPlus',
|
|
130
|
+
多抓鱼: 'com.duozhuyu.dejavu',
|
|
131
|
+
自如: 'com.ziroom.ZiroomProject',
|
|
132
|
+
携程: 'ctrip.com',
|
|
133
|
+
去哪儿旅行: 'com.qunar.iphoneclient8',
|
|
134
|
+
Xmind: 'net.xmind.brownieapp',
|
|
135
|
+
印象笔记: 'com.yinxiang.iPhone',
|
|
136
|
+
欧陆词典: 'eusoft.eudic.pro',
|
|
137
|
+
115: 'com.115.personal',
|
|
138
|
+
名片全能王: 'com.intsig.camcard.lite',
|
|
139
|
+
中国银行: 'com.boc.BOCMBCI',
|
|
140
|
+
'58同城': 'com.taofang.iphone',
|
|
141
|
+
'Google Chrome': 'com.google.chrome.ios',
|
|
142
|
+
Gmail: 'com.google.Gmail',
|
|
143
|
+
Facebook: 'com.facebook.Facebook',
|
|
144
|
+
Firefox: 'org.mozilla.ios.Firefox',
|
|
145
|
+
Messenger: 'com.facebook.Messenger',
|
|
146
|
+
Instagram: 'com.burbn.instagram',
|
|
147
|
+
Starbucks: 'com.starbucks.mystarbucks',
|
|
148
|
+
'Luckin Coffee': 'com.bjlc.luckycoffee',
|
|
149
|
+
Line: 'jp.naver.line',
|
|
150
|
+
Linkedin: 'com.linkedin.LinkedIn',
|
|
151
|
+
Dcard: 'com.dcard.app.Dcard',
|
|
152
|
+
Youtube: 'com.google.ios.youtube',
|
|
153
|
+
Spotify: 'com.spotify.client',
|
|
154
|
+
Netflix: 'com.netflix.Netflix',
|
|
155
|
+
Twitter: 'com.atebits.Tweetie2',
|
|
156
|
+
WhatsApp: 'net.whatsapp.WhatsApp',
|
|
157
|
+
Safari: 'com.apple.mobilesafari',
|
|
158
|
+
'App Store': 'com.apple.AppStore',
|
|
159
|
+
设置: 'com.apple.Preferences',
|
|
160
|
+
相机: 'com.apple.camera',
|
|
161
|
+
照片: 'com.apple.mobileslideshow',
|
|
162
|
+
时钟: 'com.apple.mobiletimer',
|
|
163
|
+
闹钟: 'com.apple.mobiletimer',
|
|
164
|
+
备忘录: 'com.apple.mobilenotes',
|
|
165
|
+
提醒事项: 'com.apple.reminders',
|
|
166
|
+
快捷指令: 'com.apple.shortcuts',
|
|
167
|
+
天气: 'com.apple.weather',
|
|
168
|
+
日历: 'com.apple.mobilecal',
|
|
169
|
+
地图: 'com.apple.Maps',
|
|
170
|
+
电话: 'com.apple.mobilephone',
|
|
171
|
+
通讯录: 'com.apple.MobileAddressBook',
|
|
172
|
+
信息: 'com.apple.MobileSMS',
|
|
173
|
+
Facetime: 'com.apple.facetime',
|
|
174
|
+
FaceTime: 'com.apple.facetime',
|
|
175
|
+
计算器: 'com.apple.calculator',
|
|
176
|
+
家庭: 'com.apple.Home',
|
|
177
|
+
健康: 'com.apple.Health',
|
|
178
|
+
钱包: 'com.apple.Passbook',
|
|
179
|
+
股市: 'com.apple.stocks',
|
|
180
|
+
图书: 'com.apple.iBooks',
|
|
181
|
+
新闻: 'com.apple.news',
|
|
182
|
+
视频: 'com.apple.tv',
|
|
183
|
+
文件: 'com.apple.DocumentsApp',
|
|
184
|
+
邮件: 'com.apple.mobilemail',
|
|
185
|
+
查找: 'com.apple.findmy',
|
|
186
|
+
翻译: 'com.apple.Translate',
|
|
187
|
+
音乐: 'com.apple.Music',
|
|
188
|
+
播客: 'com.apple.podcasts',
|
|
189
|
+
库乐队: 'com.apple.mobilegarageband',
|
|
190
|
+
语音备忘录: 'com.apple.VoiceMemos',
|
|
191
|
+
iMovie: 'com.apple.iMovie',
|
|
192
|
+
Watch: 'com.apple.Bridge',
|
|
193
|
+
'Apple Store': 'com.apple.store.Jolly',
|
|
194
|
+
TestFlight: 'com.apple.TestFlight',
|
|
195
|
+
Keynote: 'com.apple.Keynote',
|
|
196
|
+
'Keynote 讲演': 'com.apple.Keynote'
|
|
197
|
+
};
|
|
14
198
|
const debugIOS = getDebug('webdriver:ios');
|
|
15
199
|
class IOSWebDriverClient extends WebDriverClient {
|
|
16
200
|
async launchApp(bundleId) {
|
|
@@ -521,12 +705,21 @@ ScreenSize: ${size.width}x${size.height} (DPR: ${size.scale})
|
|
|
521
705
|
throw new Error(`Unable to connect to iOS device ${this.deviceId}: ${e}`);
|
|
522
706
|
}
|
|
523
707
|
}
|
|
708
|
+
setAppNameMapping(mapping) {
|
|
709
|
+
this.appNameMapping = mapping;
|
|
710
|
+
}
|
|
711
|
+
resolveBundleId(appName) {
|
|
712
|
+
if (appName in this.appNameMapping) return this.appNameMapping[appName];
|
|
713
|
+
}
|
|
524
714
|
async launch(uri) {
|
|
525
715
|
this.uri = uri;
|
|
526
716
|
try {
|
|
527
717
|
debugDevice(`Launching app: ${uri}`);
|
|
528
718
|
if (uri.startsWith('http://') || uri.startsWith('https://') || uri.includes('://')) await this.openUrl(uri);
|
|
529
|
-
else
|
|
719
|
+
else {
|
|
720
|
+
const resolvedUri = this.resolveBundleId(uri) ?? uri;
|
|
721
|
+
await this.wdaBackend.launchApp(resolvedUri);
|
|
722
|
+
}
|
|
530
723
|
debugDevice(`Successfully launched: ${uri}`);
|
|
531
724
|
} catch (error) {
|
|
532
725
|
debugDevice(`Error launching ${uri}: ${error}`);
|
|
@@ -907,6 +1100,7 @@ ScreenSize: ${size.width}x${size.height} (DPR: ${size.scale})
|
|
|
907
1100
|
_define_property(this, "customActions", void 0);
|
|
908
1101
|
_define_property(this, "wdaBackend", void 0);
|
|
909
1102
|
_define_property(this, "wdaManager", void 0);
|
|
1103
|
+
_define_property(this, "appNameMapping", {});
|
|
910
1104
|
_define_property(this, "interfaceType", 'ios');
|
|
911
1105
|
_define_property(this, "uri", void 0);
|
|
912
1106
|
_define_property(this, "options", void 0);
|
|
@@ -927,7 +1121,7 @@ const runWdaRequestParamSchema = z.object({
|
|
|
927
1121
|
endpoint: z.string().describe('WebDriver API endpoint'),
|
|
928
1122
|
data: z.object({}).passthrough().optional().describe('Optional request body data as JSON object')
|
|
929
1123
|
});
|
|
930
|
-
const launchParamSchema = z.string().describe('App bundle ID or
|
|
1124
|
+
const launchParamSchema = z.string().describe('App bundle ID, URL, or app name');
|
|
931
1125
|
const createPlatformActions = (device)=>({
|
|
932
1126
|
RunWdaRequest: defineAction({
|
|
933
1127
|
name: 'RunWdaRequest',
|
|
@@ -1023,7 +1217,12 @@ class IOSAgent extends Agent {
|
|
|
1023
1217
|
return (...args)=>action(args[0]);
|
|
1024
1218
|
}
|
|
1025
1219
|
constructor(device, opts){
|
|
1026
|
-
super(device, opts), agent_define_property(this, "launch", void 0), agent_define_property(this, "runWdaRequest", void 0), agent_define_property(this, "home", void 0), agent_define_property(this, "appSwitcher", void 0);
|
|
1220
|
+
super(device, opts), agent_define_property(this, "launch", void 0), agent_define_property(this, "runWdaRequest", void 0), agent_define_property(this, "home", void 0), agent_define_property(this, "appSwitcher", void 0), agent_define_property(this, "appNameMapping", void 0);
|
|
1221
|
+
this.appNameMapping = {
|
|
1222
|
+
...defaultAppNameMapping,
|
|
1223
|
+
...opts?.appNameMapping || {}
|
|
1224
|
+
};
|
|
1225
|
+
device.setAppNameMapping(this.appNameMapping);
|
|
1027
1226
|
this.launch = this.createActionWrapper('Launch');
|
|
1028
1227
|
this.runWdaRequest = this.createActionWrapper('RunWdaRequest');
|
|
1029
1228
|
this.home = this.createActionWrapper('IOSHomeButton');
|
|
@@ -1088,7 +1287,7 @@ class IOSMCPServer extends BaseMCPServer {
|
|
|
1088
1287
|
constructor(toolsManager){
|
|
1089
1288
|
super({
|
|
1090
1289
|
name: '@midscene/ios-mcp',
|
|
1091
|
-
version: "1.2.
|
|
1290
|
+
version: "1.2.2-beta-20260115065918.0",
|
|
1092
1291
|
description: 'Control the iOS device using natural language commands'
|
|
1093
1292
|
}, toolsManager);
|
|
1094
1293
|
}
|
package/dist/lib/bin.js
CHANGED
|
@@ -12030,6 +12030,190 @@ var __webpack_exports__ = {};
|
|
|
12030
12030
|
__webpack_require__("../../node_modules/.pnpm/cors@2.8.5/node_modules/cors/lib/index.js");
|
|
12031
12031
|
const agent_namespaceObject = require("@midscene/core/agent");
|
|
12032
12032
|
const logger_namespaceObject = require("@midscene/shared/logger");
|
|
12033
|
+
const defaultAppNameMapping = {
|
|
12034
|
+
微信: 'com.tencent.xin',
|
|
12035
|
+
企业微信: 'com.tencent.ww',
|
|
12036
|
+
微信读书: 'com.tencent.weread',
|
|
12037
|
+
微信听书: 'com.tencent.wehear',
|
|
12038
|
+
QQ: 'com.tencent.mqq',
|
|
12039
|
+
QQ音乐: 'com.tencent.QQMusic',
|
|
12040
|
+
QQ阅读: 'com.tencent.qqreaderiphone',
|
|
12041
|
+
QQ邮箱: 'com.tencent.qqmail',
|
|
12042
|
+
QQ浏览器: 'com.tencent.mttlite',
|
|
12043
|
+
TIM: 'com.tencent.tim',
|
|
12044
|
+
微视: 'com.tencent.microvision',
|
|
12045
|
+
腾讯新闻: 'com.tencent.info',
|
|
12046
|
+
腾讯视频: 'com.tencent.live4iphone',
|
|
12047
|
+
腾讯动漫: 'com.tencent.ied.app.comic',
|
|
12048
|
+
腾讯微云: 'com.tencent.weiyun',
|
|
12049
|
+
腾讯体育: 'com.tencent.sportskbs',
|
|
12050
|
+
腾讯文档: 'com.tencent.txdocs',
|
|
12051
|
+
腾讯翻译君: 'com.tencent.qqtranslator',
|
|
12052
|
+
腾讯课堂: 'com.tencent.edu',
|
|
12053
|
+
腾讯地图: 'com.tencent.sosomap',
|
|
12054
|
+
小鹅拼拼: 'com.tencent.dwdcoco',
|
|
12055
|
+
全民k歌: 'com.tencent.QQKSong',
|
|
12056
|
+
支付宝: 'com.alipay.iphoneclient',
|
|
12057
|
+
钉钉: 'com.laiwang.DingTalk',
|
|
12058
|
+
闲鱼: 'com.taobao.fleamarket',
|
|
12059
|
+
淘宝: 'com.taobao.taobao4iphone',
|
|
12060
|
+
斗鱼: 'tv.douyu.live',
|
|
12061
|
+
天猫: 'com.taobao.tmall',
|
|
12062
|
+
口碑: 'com.taobao.kbmeishi',
|
|
12063
|
+
饿了么: 'me.ele.ios.eleme',
|
|
12064
|
+
高德地图: 'com.autonavi.amap',
|
|
12065
|
+
UC浏览器: 'com.ucweb.iphone.lowversion',
|
|
12066
|
+
一淘: 'com.taobao.etaocoupon',
|
|
12067
|
+
飞猪: 'com.taobao.travel',
|
|
12068
|
+
虾米音乐: 'com.xiami.spark',
|
|
12069
|
+
淘票票: 'com.taobao.movie.MoviePhoneClient',
|
|
12070
|
+
优酷: 'com.youku.YouKu',
|
|
12071
|
+
菜鸟裹裹: 'com.cainiao.cnwireless',
|
|
12072
|
+
土豆视频: 'com.tudou.tudouiphone',
|
|
12073
|
+
抖音: 'com.ss.iphone.ugc.Aweme',
|
|
12074
|
+
抖音极速版: 'com.ss.iphone.ugc.aweme.lite',
|
|
12075
|
+
抖音火山版: 'com.ss.iphone.ugc.Live',
|
|
12076
|
+
Tiktok: 'com.zhiliaoapp.musically',
|
|
12077
|
+
飞书: 'com.bytedance.ee.lark',
|
|
12078
|
+
今日头条: 'com.ss.iphone.article.News',
|
|
12079
|
+
西瓜视频: 'com.ss.iphone.article.Video',
|
|
12080
|
+
皮皮虾: 'com.bd.iphone.super',
|
|
12081
|
+
美团: 'com.meituan.imeituan',
|
|
12082
|
+
美团外卖: 'com.meituan.itakeaway',
|
|
12083
|
+
大众点评: 'com.dianping.dpscope',
|
|
12084
|
+
美团优选: 'com.meituan.iyouxuan',
|
|
12085
|
+
美团优选团长: 'com.meituan.igrocery.gh',
|
|
12086
|
+
美团骑手: 'com.meituan.banma.homebrew',
|
|
12087
|
+
美团开店宝: 'com.meituan.imerchantbiz',
|
|
12088
|
+
美团拍店: 'com.meituan.pai',
|
|
12089
|
+
美团众包: 'com.meituan.banma.crowdsource',
|
|
12090
|
+
美团买菜: 'com.baobaoaichi.imaicai',
|
|
12091
|
+
京东: 'com.360buy.jdmobile',
|
|
12092
|
+
京东读书: 'com.jd.reader',
|
|
12093
|
+
网易新闻: 'com.netease.news',
|
|
12094
|
+
网易云音乐: 'com.netease.cloudmusic',
|
|
12095
|
+
网易邮箱大师: 'com.netease.macmail',
|
|
12096
|
+
网易严选: 'com.netease.yanxuan',
|
|
12097
|
+
网易公开课: 'com.netease.videoHD',
|
|
12098
|
+
网易有道词典: 'youdaoPro',
|
|
12099
|
+
有道云笔记: 'com.youdao.note.YoudaoNoteMac',
|
|
12100
|
+
百度: 'com.baidu.BaiduMobile',
|
|
12101
|
+
百度网盘: 'com.baidu.netdisk',
|
|
12102
|
+
百度贴吧: 'com.baidu.tieba',
|
|
12103
|
+
百度地图: 'com.baidu.map',
|
|
12104
|
+
百度阅读: 'com.baidu.yuedu',
|
|
12105
|
+
百度翻译: 'com.baidu.translate',
|
|
12106
|
+
百度文库: 'com.baidu.Wenku',
|
|
12107
|
+
百度视频: 'com.baidu.videoiphone',
|
|
12108
|
+
百度输入法: 'com.baidu.inputMethod',
|
|
12109
|
+
快手: 'com.jiangjia.gif',
|
|
12110
|
+
快手极速版: 'com.kuaishou.nebula',
|
|
12111
|
+
哔哩哔哩: 'tv.danmaku.bilianime',
|
|
12112
|
+
芒果TV: 'com.hunantv.imgotv',
|
|
12113
|
+
苏宁易购: 'SuningEMall',
|
|
12114
|
+
微博: 'com.sina.weibo',
|
|
12115
|
+
微博极速版: 'com.sina.weibolite',
|
|
12116
|
+
微博国际: 'com.weibo.international',
|
|
12117
|
+
墨客: 'com.moke.moke.iphone',
|
|
12118
|
+
豆瓣: 'com.douban.frodo',
|
|
12119
|
+
知乎: 'com.zhihu.ios',
|
|
12120
|
+
小红书: 'com.xingin.discover',
|
|
12121
|
+
喜马拉雅: 'com.gemd.iting',
|
|
12122
|
+
得到: 'com.luojilab.LuoJiFM-IOS',
|
|
12123
|
+
得物: 'com.siwuai.duapp',
|
|
12124
|
+
起点读书: 'm.qidian.QDReaderAppStore',
|
|
12125
|
+
番茄小说: 'com.dragon.read',
|
|
12126
|
+
书旗小说: 'com.shuqicenter.reader',
|
|
12127
|
+
拼多多: 'com.xunmeng.pinduoduo',
|
|
12128
|
+
多点: 'com.dmall.dmall',
|
|
12129
|
+
便利蜂: 'com.bianlifeng.customer.ios',
|
|
12130
|
+
亿通行: 'com.ruubypay.yitongxing',
|
|
12131
|
+
云闪付: 'com.unionpay.chsp',
|
|
12132
|
+
大都会Metro: 'com.DDH.SHSubway',
|
|
12133
|
+
爱奇艺视频: 'com.qiyi.iphone',
|
|
12134
|
+
搜狐视频: 'com.sohu.iPhoneVideo',
|
|
12135
|
+
搜狐新闻: 'com.sohu.newspaper',
|
|
12136
|
+
搜狗浏览器: 'com.sogou.SogouExplorerMobile',
|
|
12137
|
+
虎牙: 'com.yy.kiwi',
|
|
12138
|
+
比心: 'com.yitan.bixin',
|
|
12139
|
+
转转: 'com.wuba.zhuanzhuan',
|
|
12140
|
+
YY: 'yyvoice',
|
|
12141
|
+
绿洲: 'com.sina.oasis',
|
|
12142
|
+
陌陌: 'com.wemomo.momoappdemo1',
|
|
12143
|
+
什么值得买: 'com.smzdm.client.ios',
|
|
12144
|
+
美团秀秀: 'com.meitu.mtxx',
|
|
12145
|
+
唯品会: 'com.vipshop.iphone',
|
|
12146
|
+
唱吧: 'com.changba.ktv',
|
|
12147
|
+
酷狗音乐: 'com.kugou.kugou1002',
|
|
12148
|
+
CSDN: 'net.csdn.CsdnPlus',
|
|
12149
|
+
多抓鱼: 'com.duozhuyu.dejavu',
|
|
12150
|
+
自如: 'com.ziroom.ZiroomProject',
|
|
12151
|
+
携程: 'ctrip.com',
|
|
12152
|
+
去哪儿旅行: 'com.qunar.iphoneclient8',
|
|
12153
|
+
Xmind: 'net.xmind.brownieapp',
|
|
12154
|
+
印象笔记: 'com.yinxiang.iPhone',
|
|
12155
|
+
欧陆词典: 'eusoft.eudic.pro',
|
|
12156
|
+
115: 'com.115.personal',
|
|
12157
|
+
名片全能王: 'com.intsig.camcard.lite',
|
|
12158
|
+
中国银行: 'com.boc.BOCMBCI',
|
|
12159
|
+
'58同城': 'com.taofang.iphone',
|
|
12160
|
+
'Google Chrome': 'com.google.chrome.ios',
|
|
12161
|
+
Gmail: 'com.google.Gmail',
|
|
12162
|
+
Facebook: 'com.facebook.Facebook',
|
|
12163
|
+
Firefox: 'org.mozilla.ios.Firefox',
|
|
12164
|
+
Messenger: 'com.facebook.Messenger',
|
|
12165
|
+
Instagram: 'com.burbn.instagram',
|
|
12166
|
+
Starbucks: 'com.starbucks.mystarbucks',
|
|
12167
|
+
'Luckin Coffee': 'com.bjlc.luckycoffee',
|
|
12168
|
+
Line: 'jp.naver.line',
|
|
12169
|
+
Linkedin: 'com.linkedin.LinkedIn',
|
|
12170
|
+
Dcard: 'com.dcard.app.Dcard',
|
|
12171
|
+
Youtube: 'com.google.ios.youtube',
|
|
12172
|
+
Spotify: 'com.spotify.client',
|
|
12173
|
+
Netflix: 'com.netflix.Netflix',
|
|
12174
|
+
Twitter: 'com.atebits.Tweetie2',
|
|
12175
|
+
WhatsApp: 'net.whatsapp.WhatsApp',
|
|
12176
|
+
Safari: 'com.apple.mobilesafari',
|
|
12177
|
+
'App Store': 'com.apple.AppStore',
|
|
12178
|
+
设置: 'com.apple.Preferences',
|
|
12179
|
+
相机: 'com.apple.camera',
|
|
12180
|
+
照片: 'com.apple.mobileslideshow',
|
|
12181
|
+
时钟: 'com.apple.mobiletimer',
|
|
12182
|
+
闹钟: 'com.apple.mobiletimer',
|
|
12183
|
+
备忘录: 'com.apple.mobilenotes',
|
|
12184
|
+
提醒事项: 'com.apple.reminders',
|
|
12185
|
+
快捷指令: 'com.apple.shortcuts',
|
|
12186
|
+
天气: 'com.apple.weather',
|
|
12187
|
+
日历: 'com.apple.mobilecal',
|
|
12188
|
+
地图: 'com.apple.Maps',
|
|
12189
|
+
电话: 'com.apple.mobilephone',
|
|
12190
|
+
通讯录: 'com.apple.MobileAddressBook',
|
|
12191
|
+
信息: 'com.apple.MobileSMS',
|
|
12192
|
+
Facetime: 'com.apple.facetime',
|
|
12193
|
+
FaceTime: 'com.apple.facetime',
|
|
12194
|
+
计算器: 'com.apple.calculator',
|
|
12195
|
+
家庭: 'com.apple.Home',
|
|
12196
|
+
健康: 'com.apple.Health',
|
|
12197
|
+
钱包: 'com.apple.Passbook',
|
|
12198
|
+
股市: 'com.apple.stocks',
|
|
12199
|
+
图书: 'com.apple.iBooks',
|
|
12200
|
+
新闻: 'com.apple.news',
|
|
12201
|
+
视频: 'com.apple.tv',
|
|
12202
|
+
文件: 'com.apple.DocumentsApp',
|
|
12203
|
+
邮件: 'com.apple.mobilemail',
|
|
12204
|
+
查找: 'com.apple.findmy',
|
|
12205
|
+
翻译: 'com.apple.Translate',
|
|
12206
|
+
音乐: 'com.apple.Music',
|
|
12207
|
+
播客: 'com.apple.podcasts',
|
|
12208
|
+
库乐队: 'com.apple.mobilegarageband',
|
|
12209
|
+
语音备忘录: 'com.apple.VoiceMemos',
|
|
12210
|
+
iMovie: 'com.apple.iMovie',
|
|
12211
|
+
Watch: 'com.apple.Bridge',
|
|
12212
|
+
'Apple Store': 'com.apple.store.Jolly',
|
|
12213
|
+
TestFlight: 'com.apple.TestFlight',
|
|
12214
|
+
Keynote: 'com.apple.Keynote',
|
|
12215
|
+
'Keynote 讲演': 'com.apple.Keynote'
|
|
12216
|
+
};
|
|
12033
12217
|
const external_node_assert_namespaceObject = require("node:assert");
|
|
12034
12218
|
var external_node_assert_default = /*#__PURE__*/ __webpack_require__.n(external_node_assert_namespaceObject);
|
|
12035
12219
|
const core_namespaceObject = require("@midscene/core");
|
|
@@ -12546,12 +12730,21 @@ ScreenSize: ${size.width}x${size.height} (DPR: ${size.scale})
|
|
|
12546
12730
|
throw new Error(`Unable to connect to iOS device ${this.deviceId}: ${e}`);
|
|
12547
12731
|
}
|
|
12548
12732
|
}
|
|
12733
|
+
setAppNameMapping(mapping) {
|
|
12734
|
+
this.appNameMapping = mapping;
|
|
12735
|
+
}
|
|
12736
|
+
resolveBundleId(appName) {
|
|
12737
|
+
if (appName in this.appNameMapping) return this.appNameMapping[appName];
|
|
12738
|
+
}
|
|
12549
12739
|
async launch(uri) {
|
|
12550
12740
|
this.uri = uri;
|
|
12551
12741
|
try {
|
|
12552
12742
|
debugDevice(`Launching app: ${uri}`);
|
|
12553
12743
|
if (uri.startsWith('http://') || uri.startsWith('https://') || uri.includes('://')) await this.openUrl(uri);
|
|
12554
|
-
else
|
|
12744
|
+
else {
|
|
12745
|
+
const resolvedUri = this.resolveBundleId(uri) ?? uri;
|
|
12746
|
+
await this.wdaBackend.launchApp(resolvedUri);
|
|
12747
|
+
}
|
|
12555
12748
|
debugDevice(`Successfully launched: ${uri}`);
|
|
12556
12749
|
} catch (error) {
|
|
12557
12750
|
debugDevice(`Error launching ${uri}: ${error}`);
|
|
@@ -12932,6 +13125,7 @@ ScreenSize: ${size.width}x${size.height} (DPR: ${size.scale})
|
|
|
12932
13125
|
device_define_property(this, "customActions", void 0);
|
|
12933
13126
|
device_define_property(this, "wdaBackend", void 0);
|
|
12934
13127
|
device_define_property(this, "wdaManager", void 0);
|
|
13128
|
+
device_define_property(this, "appNameMapping", {});
|
|
12935
13129
|
device_define_property(this, "interfaceType", 'ios');
|
|
12936
13130
|
device_define_property(this, "uri", void 0);
|
|
12937
13131
|
device_define_property(this, "options", void 0);
|
|
@@ -12952,7 +13146,7 @@ ScreenSize: ${size.width}x${size.height} (DPR: ${size.scale})
|
|
|
12952
13146
|
endpoint: core_namespaceObject.z.string().describe('WebDriver API endpoint'),
|
|
12953
13147
|
data: core_namespaceObject.z.object({}).passthrough().optional().describe('Optional request body data as JSON object')
|
|
12954
13148
|
});
|
|
12955
|
-
const launchParamSchema = core_namespaceObject.z.string().describe('App bundle ID or
|
|
13149
|
+
const launchParamSchema = core_namespaceObject.z.string().describe('App bundle ID, URL, or app name');
|
|
12956
13150
|
const createPlatformActions = (device)=>({
|
|
12957
13151
|
RunWdaRequest: (0, device_namespaceObject.defineAction)({
|
|
12958
13152
|
name: 'RunWdaRequest',
|
|
@@ -13006,7 +13200,12 @@ ScreenSize: ${size.width}x${size.height} (DPR: ${size.scale})
|
|
|
13006
13200
|
return (...args)=>action(args[0]);
|
|
13007
13201
|
}
|
|
13008
13202
|
constructor(device, opts){
|
|
13009
|
-
super(device, opts), agent_define_property(this, "launch", void 0), agent_define_property(this, "runWdaRequest", void 0), agent_define_property(this, "home", void 0), agent_define_property(this, "appSwitcher", void 0);
|
|
13203
|
+
super(device, opts), agent_define_property(this, "launch", void 0), agent_define_property(this, "runWdaRequest", void 0), agent_define_property(this, "home", void 0), agent_define_property(this, "appSwitcher", void 0), agent_define_property(this, "appNameMapping", void 0);
|
|
13204
|
+
this.appNameMapping = {
|
|
13205
|
+
...defaultAppNameMapping,
|
|
13206
|
+
...opts?.appNameMapping || {}
|
|
13207
|
+
};
|
|
13208
|
+
device.setAppNameMapping(this.appNameMapping);
|
|
13010
13209
|
this.launch = this.createActionWrapper('Launch');
|
|
13011
13210
|
this.runWdaRequest = this.createActionWrapper('RunWdaRequest');
|
|
13012
13211
|
this.home = this.createActionWrapper('IOSHomeButton');
|