refactor abstract test into a unit base abstract and a browser base test abstract
split abstract functional test to have a webdrone trait that provides instances of webdrone