15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project# Copyright 2014 The Chromium Authors. All rights reserved. 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project# Use of this source code is governed by a BSD-style license that can be 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project# found in the LICENSE file. 45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectfrom telemetry.core.backends import form_based_credentials_backend 65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectclass CodePenCredentialsBackend( 95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project form_based_credentials_backend.FormBasedCredentialsBackend): 105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project def logged_in_javascript(self): 135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project """Evaluates to true iff already logged in.""" 145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 'document.querySelector(".login-area") === null' 155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project def credentials_type(self): 185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 'codepen' 195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project def url(self): 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 'https://codepen.io/login' 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project def login_form_id(self): 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 'login-login-form' 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 295cd8bff2dd0337cb52bf48f312e3d2d55a8882fbMike J. Chen def login_button_javascript(self): 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return """ 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project LoginSettings.timeOnPageStartTime = 0; 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project document.getElementById("log-in-button").click(); 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project """ 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project def login_input_id(self): 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 'login-email-field' 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project @property 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project def password_input_id(self): 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 'login-password-field_' 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project