Parallel JavaScript Execution in Web Navigation Sequences

Web automation applications are widely used for different purposes such as B2B integration and automated testing of web applications. Most current systems build the automatic web navigation component by using the APIs of conventional browsers. This approach suffers performance problems for intensive web automation tasks which require real time responses. Other systems use the approach of creating custom browsers specially designed for web automation. Those browsers can develop some improvements based in the peculiarities of the web automation tasks. In this paper, we present a novel optimization technique that allows the parallel execution of the JavaScript while the navigation component loads the web page. This technique is based in the analysis of the interactions between the scripts during the first loading of the web page, generating some useful information that will be saved and used in the next executions. The tests executed with real web sources show that the scripts contained in the HTML documents can be evaluated concurrently and the navigation component loads the web pages faster when the scripts are executed in parallel.

[1]  Ángel Viña,et al.  Semi-Automatic Wrapper Generation for Commercial Web Sources , 2002, Engineering Information Systems in the Internet Context.

[2]  Alberto Pan,et al.  Efficient Execution of Web Navigation Sequences , 2012, WISE.

[3]  Michael W. Godfrey,et al.  A reference architecture for Web browsers , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[4]  Calin Cascaval,et al.  ZOOMM: a parallel web browser engine for multicore mobile devices , 2013, PPoPP '13.

[5]  Rob Miller,et al.  Smart bookmarks: automatic retroactive macro recording on the web , 2007, UIST.

[6]  Samuel T. King,et al.  A case for parallelizing web pages , 2012, HotPar'12.