I have to perform some tests to web application with interesting interface. I faced with the following issue: there is a process with progress bar and while process is not finished,
selenium couldn't interact with page. Progress bar percentage and status message are received by page thru very long
ajax. It works very interesting:
- Page sends request to start process (aka form submit)
- Page receives data with popup window and shows it
- Page sends request to get progress bar status
- Page receives every few seconds a part of response with status and current progress
- Page receives the end of response (aka code 200)
So, while process is running, page is 'downloading' the response. It this period,
selenium couldn't execute (or something else) its scripts in page.! Selenium perform all actions (also, searching elements, clicks on it and so on) thru executing some js in page context
document.readyState == 'complete', but... browser shows like it is loading something (yes, it is, it is loading the response).
I'm not sure that I can somehow modify the page to avoid such 'locking'. It is possible to tune selenium settings to allow him to work while something is loaded? I'm interested in reading in real-time the progress status.