frequent issues with X sync
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Autopilot |
New
|
Undecided
|
Unassigned |
Bug Description
When running our tests, we frequently have issues with X not being synced. Not only on slow VM's but also on real hardware.
For example:
We have a text input field and use autopilot to
- click the text field
- assertThat(
- type some letters ("foobar")
- verify that some component received the input text
Quite often this only produces the input "oobar" because the "f" is typed before X actually syncs the input focus state.
Another example:
We have a hidden component somewhere in the ui. For instance some sort of dialog which contains a button and do the test:
- dialog.show()
- assertThat(
- click the button
- assert that the button's action has been executed
This quite often clicks on the right place but does the click too early, because all the app's states in memory are updated already, but X is not yet synced to it.
I think autopilot needs to become more reliable in those areas. Is it possible to wait for X to be synced somehow? If yes, I think autopilot should wait for such a sync every time before doing any input.
description: | updated |
Hi Michael,
just to make sure I understand, it sounds like both of these cases boil
down to the same issue:
The widget says it's focused/visible before that's actually the case.
Does that sum up the issue properly?
I'll have to think about how we can fix this in autopilot.
--
Thomi Richards
<email address hidden>