Activity log for bug #1212635

Date Who What changed Old value New value Message
2013-08-15 10:40:28 Michael Zanetti bug added bug
2013-08-15 10:41:07 Michael Zanetti 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(textfield.activeFocus, Eventually(Equals(True))) - 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(button.visible, Eventually(Equals(True))) - click the button - assert that the button's action has been executed This quite often clicks on the right place, 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. 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(textfield.activeFocus, Eventually(Equals(True))) - 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(button.visible, Eventually(Equals(True))) - 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.