@ 浏览erserstack/ 移动作家
浏览器Stack App 自动驱动程序 移动作家。 。 。 . 每个测试会话都是一等App Automate会话——仪表板,服务器侧视频, 设备/网络日志、浏览器Stack本地、地理定位/网络模拟、相机和生物鉴别 注射——在测试中没有浏览器Stack特定代码.
要求数 mobilewright ^ 0.0.53; 节点要求正是您现有的 Mobilewright
project's——这个软件包没有增加自己的任何内容. 安装到现有的 Mobilewright 项目
(单位:千美元)@mobilewright/test 随你的移动作家设置而来:
npm i -D @browserstack/mobilewright
抬头(上游,不是浏览器Stack):尽管移动作家声明
node >=18, (中文(简体) ), 其配置加载需要在 CommonJS 项目中的节点 \ 20.19 (require()无害环境管理一揽子措施)—— 节点 18. x 配置负载失败ERR_REQUIRE_ESM即使没有配置驱动程序。 见upstream/README.md第3节.
通过设置驱动程序在浏览器Stack指向已存在的 Mobilewright 套件:
// mobilewright.config.ts
import { defineConfig } from 'mobilewright';
import { browserStackDriver } from '@browserstack/mobilewright';
export default defineConfig({
testDir: './tests',
bundleId: 'org.wikipedia.alpha',
driver: browserStackDriver({
app: 'bs://<app-id>', // or a local .apk/.ipa path, or an https:// url — uploaded for you
project: 'My project',
}),
projects: [
{ name: 'android', use: { platform: 'android', deviceName: /Google Pixel 8\b/ } },
{ name: 'ios', use: { platform: 'ios', deviceType: 'real', osVersion: '>=17 <19' } },
],
});
browserStackDriver(options) 实值 new BrowserStackDriver(options) 拼写像配置——
移动作家~0.0.53以司机为例. 设备选择使用标准配置
字段 : deviceName (登记), osVersion (范围表达方式如下: ">=17 <19", (中文(简体) ), deviceType
(App Automate 为 real 设备)。 全权证书来自 BROWSERSTACK_USERNAME 编号 :
BROWSERSTACK_ACCESS_KEY (或 username编号 :accessKey 选项); 应用程序后退
页:1 BROWSERSTACK_APP (原始内容存档于2018-10-21). Env var. 测试是股票移动作家.
会话名称和状态是自动的. 驾驶员 TestObserver,哪个
移动wright 在没有任何记者配置的情况下引用:运行后每一次 App Automate 会话
以它进行的测试,标记通过/失败,以及它的仪表板链接打印后命名.
在本地设备与浏览器Stack之间切换
保留一个配置并按环境选择驱动程序 – 默认本地( mobilecli), 浏览器Stack 当全权证书到齐时:
const config: MobilewrightConfig = { /* ...your existing config... */ };
if (process.env.BROWSERSTACK_USERNAME) {
config.driver = browserStackDriver({ app: './apps/checkout.apk' });
}
export default defineConfig(config);
npx mobilewright test # local device, as always
BROWSERSTACK_USERNAME=… BROWSERSTACK_ACCESS_KEY=… \
npx mobilewright test # the same suite on App Automate
当地 .apk编号 :.ipa 路径自动上传( 每跑一次), 固定点'
正在跳过会话应用程序的会话中段重新安装 .
里面的东西
src/driver.ts完全的移动作家驾驶合同:DeviceAllocator(每个工人名额一个App自动会话;工人按会话编号附加)+MobilewrightSession(26个动词+)webViewBridge包含多网页视图页面扩展) 超过浏览器Stack的标准 W3C WebDriver 会话 API.src/observer.ts- 那个TestObserver:自动会话命名/状态+仪表板链接.src/executor.ts—— 说browserStackExecutor()用于浏览器Stack特定动作的逃出舱门 (相机图像注射,生物鉴别,苹果支付,.src/reporter.ts- 独立的Playwright记者;由观察员取而代之,为 明确需要记者式接线的套件.e2e/- 配套套房(Android/iOS原生、网页视图、第二阶段功能、浏览器Stack) 当地,Milliways跨平台套房, 发行相容门(e2e/compat-check.sh, (中文(简体) ), 以及当地-vs-云性能基准e2e/perf/) (中文(简体) ).upstream/——待这些套房发现的一行上游修复.
设置
Plain npm — 该套件针对已发布的移动wright套件构建:
npm install && npm run build && npm run lint && npm run test:unit
# conformance against real App Automate devices
export BROWSERSTACK_USERNAME=… BROWSERSTACK_ACCESS_KEY=…
cd e2e && ./compat-check.sh
e2e/compat-check.sh 针入 @mobilewright/protocol 版本, 并在
上游的驱动界面会移动;在检讨更改后会故意撞出被子.
贡献安全( S)
见 捐款额 设置、样式、相配门政策以及
释放过程。 私下报告脆弱性 警卫 从不走过
公众问题。 代码审查由App Automate团队所有(.github/CODEOWNERS(三);
依赖性由Dependabot监视.
许可证
Apache-2.0 (见 LICENSE) (中文(简体) ).