4 ms·
This is how the very first version of Selenium worked. The application under test was in an iframe, and the test controller was in the parent page. The Selenium
by hugs 7y ago
This is how the very first version of Selenium worked. The application under test was in an iframe, and the test controller was in the parent page. The Selenium "Remote Control" protocol was later added where the controller would phone home to a listening web server for commands to relay to the iframe (basically, AJAX before it had a name. It all mostly worked for the most common test cases, but we abandoned this approach for similar reasons mentioned in the article -- the edge case limitations became more and more frustrating over time. Ultimately, we merged with the WebDriver project, which was implemented in a more native way, avoiding all the limitations of automation-via-iframe.
- hinkley 7y agoI believe karma still works this way.
- 3xblah 7y ago"It mostly worked for the most common test cases, but we abandoned this approach for similar reasons mentioned in the article -- the edge case limitations became more and more frustrating over time." The article only mentions malformed URLs and browser run-time errors. Were there any other "edge case limitations" that became intolerable.
- Fauntleroy 7y agoSome websites will detect the iframe and send nothing instead of the requested page. I happen to know from personal experience that YouTube is one of the sites that does this.
- chii 7y ago> YouTube is one of the sites that does this. that's because they have a proper iframe-embed url: https://www.youtube.com/embed/quyj70RogxI https://www.youtube.com/embed/quyj70RogxI (instead of https://www.youtube.com/watch?v=quyj70RogxI https://www.youtube.com/watch?v=quyj70RogxI )