• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
夜码人
            管理     

Marionette初识六---测试

Testing

1.我们使用单元测试和功能测试的组合,以几种不同的方式验证和测试 Marionette。

2.下面测试3种不同的组件:

--Marionette 服务器,使用 xpcshell 单元测试和用 Python 编写的功能测试的组合,分布在 Marionette- 和 WPT 测试中。

--Python 客户端使用相同的功能 Marionette 测试主体进行测试;

--支持 Marionette 或 Mn 工作的工具,测试使用单独的模拟式单元测试进行验证。

所有这些测试都可以使用 mach 运行。

3.xpcshell 单元测试

--Marionette 有一组 xpcshell 单元测试,位于 _remote/marionette/test/xpcshell,

以下是操作过程:

% ./mach test remote/marionette/test/unit

--由于测试是并行运行的,而且 xpcshell 本身很健谈(活跃),所以有时按顺序运行测试会很有用:

% ./mach test --sequential remote/marionette/test/xpcshell/test_error.js

这些单元测试作为 Treeherder 上 X 作业的一部分运行。

 

4.Marionette 功能测试

使用 Marionette Python 客户端的功能测试。这样启动 Firefox 进程并测试 Marionette 协议的输入和输出,并将在 Treeherder 上显示为 Mn。 以下命令将在本地运行所有测试:

% ./mach marionette-test

可以运行单独的测试

% ./mach marionette-test testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py

如果想使用另一个二进制文件(如 Firefox Nightly)运行测试:

% ./mach marionette-test --binary /path/to/nightly/firefox TEST

在 Marionette 上工作时,从 Gecko 显示标准输出通常很有用,这可以使用 --gecko-log 选项来实现,其要点是可以将所有 Gecko 输出重定向到 stdout:

% ./mach marionette-test --gecko-log - TEST

在功能集成测试偶尔会弹出 Firefox 窗口,一个有用的提示是抑制窗口可以使用 Firefox 的无头模式:

% ./mach marionette-test -z TEST

-z 是 --headless 标志的别名,相当于设置 MOZ_HEADLESS 输出变量。

除了 MOZ_HEADLESS 之外,

还有 MOZ_HEADLESS_WIDTH 和MOZ_HEADLESS_HEIGHT,

用于控制 no-op 虚拟显示器的尺寸。

这与使用 Xvfb(1) 类似,可以从 X 窗口系统中了解到它,

但是也可以在 macOS 和 Windows 上工作。

 

5.Android

先决条件: 你已经建立了 Fennec。

可以运行 Android 模拟器,这意味着拥有所需的 AVD。

在 Fennec 上运行测试时,可以让 Marionette runner 负责启动 Fennec 和一个模拟器,

如下所示。

% ./mach marionette-test --emulator --app fennec
--avd-home /path/to/.mozbuild/android-device/avd
--emulator-binary /path/to/.mozbuild/android-sdk/emulator/emulator
--avd=mozemulator-x86

 

posted @ 2021-11-03 17:56  夜码人  阅读(113)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3