如何测试 DatePickerIOS

Posted

技术标签:

【中文标题】如何测试 DatePickerIOS【英文标题】:How to test DatePickerIOS 【发布时间】:2018-09-27 12:32:21 【问题描述】:

我需要使用原生 ios DatePicker 输入一天。如何将控制轮旋转到可能不在视图中的某个值,因为它从当前日期开始?

【问题讨论】:

【参考方案1】:

Detox 7.3.x 支持与 iOS UIPickerView 交互。按类型匹配UIPickerView,并与之交互。

await expect(element(by.type('UIPickerView'))).toBeVisible();
await element(by.type('UIPickerView')).setColumnToValue(1,"6");
await element(by.type('UIPickerView')).setColumnToValue(2,"34");

文档在这里: https://github.com/wix/detox/blob/master/docs/APIRef.ActionsOnElement.md#setcolumntovaluecolumnvalue--ios-only

【讨论】:

不错!排毒是最好的! 那你可能想:await element(by.label('Confirm')).tap();【参考方案2】:

datetimepicker 有 Detox 测试,你可以在这里查看代码:

https://github.com/react-native-community/datetimepicker/blob/master/example/e2e/detoxTest.spec.js#L54

if (global.device.getPlatform() === 'ios') 
      const testElement = await element(
        by.type('UIPickerView').withAncestor(by.id('dateTimePicker')),
      );
      await testElement.setColumnToValue(0, 'November');
      await testElement.setColumnToValue(1, '3');
      await testElement.setColumnToValue(2, '1800');

      await expect(dateTimeText).toHaveText('11/03/1800');
     else 
       // for android
    

【讨论】:

以上是关于如何测试 DatePickerIOS的主要内容,如果未能解决你的问题,请参考以下文章

如何编写有效的测试计划

功耗如何测试?硬件怎么测试功耗?嵌入式如何测试功耗?

如何在测试文件中测试上下文?以及如何从测试文件中的上下文访问值?

如何简单设计接口测试用例

Android如何进行单元测试(转)

如何做好接口测试?