These days applications are built on technologies which takes heavy loading of webpages and even objects for that matter into account. There could be pages where status of browser loading is different and objects are being loaded differently. Opkey is now capable of handling loading of the web pages and its synchronization automatically. While automating a web application, it's usually seen that some web pages take some time to load the page and synchronizing the web page attributes on the web browser. In order to handle such scenarios, user will have to add static waits in their scripts and how to handle all such scenarios will be a cumbersome task. Let see how Opkey takes this issue into account.
Suppose you have given the static time wait as 10 seconds as per your assumption in which web page gets loaded fully but during test execution the web page takes more than the given wait time. In this case, your test execution get failed with error message like object not found as the page was not loaded completely.
Suppose you have given the static time wait as 10 seconds as per your assumption in which web page gets loaded fully but during test execution the web page takes just 1 or 2 seconds (less than the given wait time) then your web page remain in the idle state as you have given a static time wait. In this case, your test execution takes more time to complete the execution process.
Now, there is a new plugin in Opkey named as Web Plugin which is fully capable of handling all such scenarios of loading or synchronizing the web page on the web browser. Now, it has an advanced algorithm to wait for the loading of web page and its synchronization and then perform the action on the specified object. Thus, you don’t need to apply static wait time or apply sync browser keyword. It waits for the ajax calls and other calls to be completed at the back-end and then only moves forward to the next step. We have a given an option inside Opkey's agent utility which allows user to select to technologies like Angular, JQuery, XMLHttpRequest and for page load. User can simply select the right option as per the behaviour of the application being tested.