Clustering-Aided Page Object Generation for Web Testing

  • Andrea Stocco
  • Maurizio Leotta
  • Filippo Ricca
  • Paolo Tonella
Conference paper

DOI: 10.1007/978-3-319-38791-8_8

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9671)
Cite this paper as:
Stocco A., Leotta M., Ricca F., Tonella P. (2016) Clustering-Aided Page Object Generation for Web Testing. In: Bozzon A., Cudre-Maroux P., Pautasso C. (eds) Web Engineering. ICWE 2016. Lecture Notes in Computer Science, vol 9671. Springer, Cham

Abstract

To decouple test code from web page details, web testers adopt the Page Object design pattern. Page objects are facade classes abstracting the internals of web pages (e.g., form fields) into high-level business functions that can be invoked by test cases (e.g., user authentication). However, writing such page objects requires substantial effort, which is paid off only later, during software evolution. In this paper we propose a clustering-based approach for the identification of meaningful abstractions that are automatically turned into Java page objects. Our clustering approach to page object identification has been integrated into our tool for automated page object generation, Apogen. Experimental results indicate that the clustering approach provides clusters of web pages close to those manually produced by a human (with, on average, only three differences per web application). 75 % of the code generated by Apogen can be used as-is by web testers, breaking down the manual effort for page object creation. Moreover, a large portion (84 %) of the page object methods created automatically to support assertion definition corresponds to useful behavioural abstractions.

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Andrea Stocco
    • 1
  • Maurizio Leotta
    • 1
  • Filippo Ricca
    • 1
  • Paolo Tonella
    • 2
  1. 1.DIBRIS – Università di GenovaGenovaItaly
  2. 2.Fondazione Bruno KesslerTrentoItaly

Personalised recommendations