1. A method to automate software testing without changing browser automation code, the method comprising: receiving browser automation code to automatically test a software application executed in a web browser, the browser automation code comprising computer code that defines a specific sequence of events for testing the software application; receiving a first parameter to indicate a first type of web browser; executing, via a processor, the browser automation code in the first type of web browser via a framework comprising one or more object classes that interfaces between the browser automation code and the first type of web browser by emulating binaries associated with the first type of web browser based on the received first parameter, where executing the browser automation code in the first type of web browser comprises creating, via the one or more object classes, a first browser specific runtime environment to communicate between the emulated binaries and the browser automation code, and where the browser automation code executed in the first type of web browser is the received browser automation code; receiving a second parameter to indicate a second type of web browser; and executing the browser automation code in the second type of web browser via the framework that interfaces between the browser automation code and the second type of web browser by emulating binaries associated with the second type of web browser based on the received second parameter where the browser automation code executed in the second type of web browser is the received browser automation code, where executing the browser automation code in the second type of web browser comprises creating, via the one or more object classes, a second browser specific runtime environment to communicate between the emulated binaries and the browser automation code.