The Evolution of Test Automation, from Record and Playback to Object Mapping