Healthkit 权限的自动单元测试

Posted

技术标签:

【中文标题】Healthkit 权限的自动单元测试【英文标题】:Automated Unit Test on Healthkit permission 【发布时间】:2019-01-15 03:37:44 【问题描述】:

我正在为 healthkit 编写一个 react-native 桥,其中包括 Healthkit 的初始化。我还需要为模块编写单元测试。

我想使用 Travis 对项目进行自动测试。因此,我需要一种可以按下Allow 按钮的自动方式。否则权限UI会阻塞单元测试过程。

所以,我需要知道如何自动按下允许按钮。

【问题讨论】:

【参考方案1】:

我在我的 XCTests 中使用 this 库,我没有专门测试 HealthKit 警报,但它似乎受支持。

https://github.com/PGSSoft/AutoMate/blob/master/AutoMateExample/AutoMateExampleUITests/PermissionsTests.swift

https://github.com/PGSSoft/AutoMate/blob/master/AutoMate/Models/HealthAlerts.swift

【讨论】:

【参考方案2】:

我可以通过以下方式访问这些按钮:

lazy var turnOnAllCategories = app.tables.cells.firstMatch
lazy var allowCategoriesConnectionButton = app.navigationBars.buttons.element(boundBy: 1)

在我的测试中,我检查弹出表单是否显示:

if turnOnAllCategories.waitForExistence(timeout: waitForExistenceTimeFrame) 
    turnOnAllCategories.tap()
    allowCategoriesConnectionButton.tap()
 

请记住,根据您的 UI,您可能需要更多地过滤 app.tablesapp.navigationBars.buttons

的结果>

【讨论】:

以上是关于Healthkit 权限的自动单元测试的主要内容,如果未能解决你的问题,请参考以下文章

Xcode单元测试:尝试将测试数据从单元测试写入项目文件夹时权限被拒绝

Iphone 单元测试错误:权限被谷歌工具箱拒绝

如何在 django-rest-framework 中对权限进行单元测试?

无论存根权限如何,带有 checkPermission 的 Apache shiro 单元测试都会通过

单元测试引发:HsqlException 用户缺少权限或找不到对象:ROWNUM

自动化单元测试工具目前常用的都有哪些?