I want on iOS to set a date in my react-native application.
e2e testing is done with appium 2.0.0-beta.46 and the following driver installed:
- [email protected] [installed (NPM)]
- [email protected] [installed (NPM)]
- [email protected] [installed (NPM)]
For some reason, sometimes calling the setValue
method does it without mistake, and sometimes with mistake by choosing the wrong value, a bit randomly, this is the code:
const datePicker = $('-ios class chain:**/XCUIElementTypeDatePicker')
const s = datePicker.$('-ios class chain:**/XCUIElementTypePickerWheel')
console.log(
'birthDate is',
birthDate.getDate(),
RegistrationBirthDate.MONTHS_IOS_NATIVE[birthDate.getMonth()],
birthDate.getFullYear(),
'~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~'
)
await Promise.all([
s[0].setValue(birthDate.getDate()),
s[1].setValue(RegistrationBirthDate.MONTHS_IOS_NATIVE[birthDate.getMonth()]),
s[2].setValue(birthDate.getFullYear()),
])
console.log(
'birthDate set to',
await s[0].getValue(),
await s[1].getValue(),
await s[2].getValue()
)
It logs this :
[0-0] birthDate is 1 Janvier 2005 ~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~
[0-0]
[0-0]
[0-0] 2023-01-05T13:26:21.812Z INFO webdriver: COMMAND findElement("-ios class chain", "**/XCUIElementTypeDatePicker")
[0-0] 2023-01-05T13:26:21.813Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element
[0-0] 2023-01-05T13:26:21.813Z INFO webdriver: DATA { using: '-ios class chain', value: '**/XCUIElementTypeDatePicker' }
[0-0] 2023-01-05T13:26:21.925Z INFO webdriver: RESULT {
[0-0] 'element-6066-11e4-a52e-4f735466cecf': 'CE040000-0000-0000-CBB6-000000000000',
[0-0] ELEMENT: 'CE040000-0000-0000-CBB6-000000000000'
[0-0] }
[0-0] 2023-01-05T13:26:21.927Z INFO webdriver: COMMAND findElementsFromElement("CE040000-0000-0000-CBB6-000000000000", "-ios class chain", "**/XCUIElementTypePickerWheel")
[0-0] 2023-01-05T13:26:21.927Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/CE040000-0000-0000-CBB6-000000000000/elements
[0-0] 2023-01-05T13:26:21.927Z INFO webdriver: DATA { using: '-ios class chain', value: '**/XCUIElementTypePickerWheel' }
[0-0] 2023-01-05T13:26:22.060Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:26:22.375Z INFO webdriver: RESULT [
[0-0] {
[0-0] 'element-6066-11e4-a52e-4f735466cecf': 'E1040000-0000-0000-CBB6-000000000000',
[0-0] ELEMENT: 'E1040000-0000-0000-CBB6-000000000000'
[0-0] },
[0-0] {
[0-0] 'element-6066-11e4-a52e-4f735466cecf': 'E2040000-0000-0000-CBB6-000000000000',
[0-0] ELEMENT: 'E2040000-0000-0000-CBB6-000000000000'
[0-0] },
[0-0] {
[0-0] 'element-6066-11e4-a52e-4f735466cecf': 'E3040000-0000-0000-CBB6-000000000000',
[0-0] ELEMENT: 'E3040000-0000-0000-CBB6-000000000000'
[0-0] }
[0-0] ]
[0-0] 2023-01-05T13:26:22.379Z INFO webdriver: COMMAND elementClear("E1040000-0000-0000-CBB6-000000000000")
[0-0] 2023-01-05T13:26:22.380Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E1040000-0000-0000-CBB6-000000000000/clear
[0-0] 2023-01-05T13:26:22.380Z INFO webdriver: COMMAND elementClear("E2040000-0000-0000-CBB6-000000000000")
[0-0] 2023-01-05T13:26:22.380Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E2040000-0000-0000-CBB6-000000000000/clear
[0-0] 2023-01-05T13:26:22.380Z INFO webdriver: COMMAND elementClear("E3040000-0000-0000-CBB6-000000000000")
[0-0] 2023-01-05T13:26:22.381Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E3040000-0000-0000-CBB6-000000000000/clear
[0-0] 2023-01-05T13:26:43.061Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:26:43.061Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:26:43.062Z INFO webdriver: COMMAND elementSendKeys("E1040000-0000-0000-CBB6-000000000000", "1")
[0-0] 2023-01-05T13:26:43.062Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E1040000-0000-0000-CBB6-000000000000/value
[0-0] 2023-01-05T13:26:43.063Z INFO webdriver: DATA { text: '1' }
[0-0] 2023-01-05T13:28:03.710Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:03.710Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:28:03.712Z INFO webdriver: COMMAND elementSendKeys("E2040000-0000-0000-CBB6-000000000000", "Janvier")
[0-0] 2023-01-05T13:28:03.712Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E2040000-0000-0000-CBB6-000000000000/value
[0-0] 2023-01-05T13:28:03.712Z INFO webdriver: DATA { text: 'Janvier' }
[0-0] 2023-01-05T13:28:54.384Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:54.384Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:28:54.385Z INFO webdriver: COMMAND elementSendKeys("E3040000-0000-0000-CBB6-000000000000", "<Screenshot[base64]>")
[0-0] 2023-01-05T13:28:54.385Z INFO webdriver: [POST] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E3040000-0000-0000-CBB6-000000000000/value
[0-0] 2023-01-05T13:28:54.385Z INFO webdriver: DATA { text: '2005' }
[0-0] 2023-01-05T13:28:54.527Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:54.757Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:54.757Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:28:54.911Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:55.110Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:55.110Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:28:55.254Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:55.526Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:55.526Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0]
[0-0]
[0-0] 2023-01-05T13:28:55.527Z INFO webdriver: COMMAND getElementAttribute("E1040000-0000-0000-CBB6-000000000000", "value")
[0-0] 2023-01-05T13:28:55.527Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E1040000-0000-0000-CBB6-000000000000/attribute/value
[0-0] 2023-01-05T13:28:55.699Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:55.864Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:56.017Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:56.065Z INFO webdriver: RESULT 2
[0-0] 2023-01-05T13:28:56.065Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:56.066Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:28:56.066Z INFO webdriver: COMMAND getElementAttribute("E2040000-0000-0000-CBB6-000000000000", "value")
[0-0] 2023-01-05T13:28:56.066Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E2040000-0000-0000-CBB6-000000000000/attribute/value
[0-0] 2023-01-05T13:28:56.206Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:56.273Z INFO webdriver: RESULT Janvier
[0-0] 2023-01-05T13:28:56.273Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:56.273Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] 2023-01-05T13:28:56.274Z INFO webdriver: COMMAND getElementAttribute("E3040000-0000-0000-CBB6-000000000000", "value")
[0-0] 2023-01-05T13:28:56.274Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/element/E3040000-0000-0000-CBB6-000000000000/attribute/value
[0-0] 2023-01-05T13:28:56.467Z INFO webdriver: RESULT iVBORw0KGgoAAAANSUhEUgAABJIAAAnkCAYAAABWQUsDAAAAAXNSR0IArs4c6...
[0-0] 2023-01-05T13:28:56.516Z INFO webdriver: RESULT 2005
[0-0] 2023-01-05T13:28:56.516Z INFO webdriver: COMMAND takeScreenshot()
[0-0] 2023-01-05T13:28:56.516Z INFO webdriver: [GET] http://localhost:4723/session/2f8482bf-2e5a-462f-ba31-faf78e732c7b/screenshot
[0-0] birthDate set to 2 Janvier 2005
[0-0]
Any clue where this bugs come from and how I can set the date reliably ?