Add e2e test framework