如何测试 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的主要内容,如果未能解决你的问题,请参考以下文章