Refactor gemini runner and fix button tests