• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

android - 是否可以在 Appium 中为设备定义自定义功能?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:36:09 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

例如,我们有需要启用 TouchID 的场景,也有需要禁用 TouchID 的场景。 Appium 本身并没有公开这些功能,所以我想知道是否可以为设备定义自定义功能。

如果不能使用 Appium 本身,我很乐意将 Selenium Grid 放在中间,以防它提供这样的功能。

我们正在使用 Perfecto 在本地和云端进行测试,所以作为一个附带问题,我想知道 Perfecto 或任何其他云服务是否提供此功能。

所以,如果我在启动 Appium session 时定义以下功能:

capabilities.touchID = 'enabled';

我会得到一个启用了 TouchID 的设备。

此外,TouchID 只是一个示例,我们有很多事情需要自定义功能。



Best Answer-推荐答案


可以在创建新 session 时定义自己的能力:

caps.android = {
  platformName: 'Android',
  ...
  mycap: 12345
}

Appium 服务器将抛出它收到无法识别的功能的消息:

[BaseDriver] The following capabilities were provided, but are not recognized 
by appium: mycap.
[BaseDriver] Session created with session id: f672074d-ed33-49c1-a243-b8d10572608e

稍后在您的测试中,您可以获得能力值,例如在 wd.js 中:

const caps = await driver.sessionCapabilities()
// caps.mycap will return 12345

并根据值设置您需要的逻辑,例如发送特定的 adb 命令

几个注意事项:

  • Appium 服务器不知道您的功能,也无法根据自定义功能配置其逻辑。您更有可能需要在放置测试的客户端定义逻辑
  • 为 session 存储的功能。如果你想改变 -> 开始新的 session

大多数移动云也有自己的自定义功能,所以对于您的附带问题:

关于android - 是否可以在 Appium 中为设备定义自定义功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230513/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap