提供 Angular/Ionic Android 应用的逐步操作流程: 使用 Appium Inspector (Cypress 或 Protractor) 测试登录
import { Component, Inject, NgZone, OnInit } from '@angular/core'; import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; import { AuthService } from 'src/app/services/auth.service'; import * as _ from 'lodash'; import { UserService } from 'src/app/services/user.service'; import { FingerprintAIO } from '@ionic-native/fingerprint-aio/ngx'; import { Platform } from '@ionic/angular'; import '@codetrix-studio/capacitor-google-auth'; import { Plugins } from '@capacitor/core'; import { AlertService } from 'src/app/services/alert.service'; import { AngularFireAuth } from '@angular/fire/compat/auth'; import { FacebookLogin } from '@capacitor-community/facebook-login'; import { SignInWithApple, AppleSignInResponse, AppleSignInErrorResponse, ASAuthorizationAppleIDRequest } from '@ionic-native/sign-in-with-apple/ngx'; import { FirebaseCrashlytics } from '@awesome-cordova-plugins/firebase-crashlytics/ngx'; import { debounceTime } from 'rxjs/operators'; import { ErrorService } from 'src/app/services/error.service'; import { AnalyticsService } from 'src/app/services/analytics.service';
@Component({ selector: 'app-login', templateUrl: './login.page.html', styleUrls: ['./login.page.scss'], }) export class LoginPage implements OnInit { passHide = true; e_regex = '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$'; loginForm = new UntypedFormGroup({ username: new UntypedFormControl('', [Validators.required, Validators.pattern(this.e_regex)]), password: new UntypedFormControl('', Validators.required) }); color: string; loginData: any = {}; userData: any; userInfo: any; googleData: any; facebookData: any; appleData: any; isIphone = false; appleLogo: string; facebookLogo: string; googleLogo: string; headerLogo: string; constructor(private router: Router, private authService: AuthService, public firebaseCrashlytics: FirebaseCrashlytics, private platform: Platform, public afAuth: AngularFireAuth, private zone: NgZone, private faio: FingerprintAIO, private userService: UserService, private analyticsService: AnalyticsService, private alertService: AlertService, private signInWithApple: SignInWithApple, @Inject('LscLogoLocation') public LscLogoLocation: string, @Inject('LscAppleLogo') public LscAppleLogo: string, @Inject('LscFacebookLogo') public LscFacebookLogo: string, @Inject('LscGoogleLogo') public LscGoogleLogo: string, @Inject('LscHeaderLogo') public LscHeaderLogo: string, private errorService: ErrorService) { this.appleLogo = LscAppleLogo; this.facebookLogo = LscFacebookLogo; this.googleLogo = LscGoogleLogo; this.headerLogo = LscHeaderLogo; } login() { this.loginData = this.loginForm.value; this.loginData.password = ; this.loginData.username = this.loginData.username.trim(); this.loginData.password = this.loginData.password.trim(); if (this.loginData.username === '' || this.loginData.password === '') { this.alertService.showError('请输入用户名和密码'); return; } this.authService.login(this.loginData).subscribe( (data) => { this.router.navigate(['/']); }, (error) => { this.alertService.showError(error); } ); } loginWithGoogle() { this.router.navigate(['/login/google']); } loginWithFacebook() { this.router.navigate(['/login/facebook']); } loginWithApple() { this.router.navigate(['/login/apple']); } loginWithFingerprint() { this.router.navigate(['/login/fingerprint']); } loginWithFingerprintAIO() { this.router.navigate(['/login/fingerprintAIO']); } loginWithFingerprintAIO2() { this.router.navigate(['/login/fingerprintAIO2']); } loginWithFingerprintAIO3() { this.router.navigate(['/login/fingerprintAIO3']); } loginWithFingerprintAIO4() { this.router.navigate(['/login/fingerprintAIO4']); } loginWithFingerprintAIO5() { this.router.navigate(['/login/fingerprintAIO5']); } loginWithFingerprintAIO6() { this.router.navigate(['/login/fingerprintAIO6']); } loginWithFingerprintAIO7() { this.router.navigate(['/login/fingerprintAIO7']); } loginWithFingerprintAIO8() { this.router.navigate(['/login/fingerprintAIO8']); } loginWithFingerprintAIO9() { this.router.navigate(['/login/fingerprintAIO9']); } loginWithFingerprintAIO10() { this.router.navigate(['/login/fingerprintAIO10']); } loginWithFingerprintAIO11() { this.router.navigate(['/login/fingerprintAIO11']); } loginWithFingerprintAIO12() { this.router.navigate(['/login/fingerprintAIO12']); } loginWithFingerprintAIO13() { this.router.navigate(['/login/fingerprintAIO13']); } loginWithFingerprintAIO14() { this.router.navigate(['/login/fingerprintAIO14']); } loginWithFingerprintAIO15() { this.router.navigate(['/login/fingerprintAIO15']); } loginWithFingerprintAIO16() { this.router.navigate(['/login/fingerprintAIO16']); } loginWithFingerprintAIO17() { this.router.navigate(['/login/fingerprintAIO17']); } loginWithFingerprintAIO18() { this.router.navigate(['/login/fingerprintAIO18']); } loginWithFingerprintAIO19() { this.router.navigate(['/login/fingerprintAIO19']); } loginWithFingerprintAIO20() { this.router.navigate(['/login/fingerprintAIO20']); } loginWithFingerprintAIO21() { this.router.navigate(['/login/fingerprintAIO21']); } loginWithFingerprintAIO22() { this.router.navigate(['/login/fingerprintAIO22']); } loginWithFingerprintAIO23() { this.router.navigate(['/login/fingerprintAIO23']); } loginWithFingerprintAIO24() { this.router.navigate(['/login/fingerprintAIO24']); } loginWithFingerprintAIO25() { this.router.navigate(['/login/fingerprintAIO25']); } loginWithFingerprintAIO26() { this.router.navigate(['/login/fingerprintAIO26']); } loginWithFingerprintAIO27() { this.router.navigate(['/login/fingerprintAIO27']); } loginWithFingerprintAIO28() { this.router.navigate(['/login/fingerprintAIO28']); } loginWithFingerprintAIO29() { this.router.navigate(['/login/fingerprintAIO29']); } loginWithFingerprintAIO30() { this.router.navigate(['/login/fingerprintAIO30']); } loginWithFingerprintAIO31() { this.router.navigate(['/login/fingerprintAIO31']); } loginWithFingerprintAIO32() { this.router.navigate(['/login/fingerprintAIO32']); } loginWithFingerprintAIO33() { this.router.navigate(['/login/fingerprintAIO33']); } loginWithFingerprintAIO34() { this.router.navigate(['/login/fingerprintAIO34']); } loginWithFingerprintAIO35() { this.router.navigate(['/login/fingerprintAIO35']); } loginWithFingerprintAIO36() { this.router.navigate(['/login/fingerprintAIO36']); } loginWithFingerprintAIO37() { this.router.navigate(['/login/fingerprintAIO37']); } loginWithFingerprintAIO38() { this.router.navigate(['/login/fingerprintAIO38']); } loginWithFingerprintAIO39() { this.router.navigate(['/login/fingerprintAIO39']); } loginWithFingerprintAIO40() { this.router.navigate(['/login/fingerprintAIO40']); } loginWithFingerprintAIO41() { this.router.navigate(['/login/fingerprintAIO41']); } loginWithFingerprintAIO42() { this.router.navigate(['/login/fingerprintAIO42']); } loginWithFingerprintAIO43() { this.router.navigate(['/login/fingerprintAIO43']); } loginWithFingerprintAIO44() { this.router.navigate(['/login/fingerprintAIO44']); } loginWithFingerprintAIO45() { this.router.navigate(['/login/fingerprintAIO45']); } loginWithFingerprintAIO46() { this.router.navigate(['/login/fingerprintAIO46']); } loginWithFingerprintAIO47() { this.router.navigate(['/login/fingerprintAIO47']); } loginWithFingerprintAIO48() { this.router.navigate(['/login/fingerprintAIO48']); } loginWithFingerprintAIO49() { this.router.navigate(['/login/fingerprintAIO49']); } loginWithFingerprintAIO50() { this.router.navigate(['/login/fingerprintAIO50']); } loginWithFingerprintAIO51() { this.router.navigate(['/login/fingerprintAIO51']); } loginWithFingerprintAIO52() { this.router.navigate(['/login/fingerprintAIO52']); } loginWithFingerprintAIO53() { this.router.navigate(['/login/fingerprintAIO53']); } loginWithFingerprintAIO54() { this.router.navigate(['/login/fingerprintAIO54']); } loginWithFingerprintAIO55() { this.router.navigate(['/login/fingerprintAIO55']); } loginWithFingerprintAIO56() { this.router.navigate(['/login/fingerprintAIO56']); } loginWithFingerprintAIO57() { this.router.navigate(['/login/fingerprintAIO57']); } loginWithFingerprintAIO58() { this.router.navigate(['/login/fingerprintAIO58']); } loginWithFingerprintAIO59() { this.router.navigate(['/login/fingerprintAIO59']); } loginWithFingerprintAIO60() { this.router.navigate(['/login/fingerprintAIO60']); } loginWithFingerprintAIO61() { this.router.navigate(['/login/fingerprintAIO61']); } loginWithFingerprintAIO62() { this.router.navigate(['/login/fingerprintAIO62']); } loginWithFingerprintAIO63() { this.router.navigate(['/login/fingerprintAIO63']); } loginWithFingerprintAIO64() { this.router.navigate(['/login/fingerprintAIO64']); } loginWithFingerprintAIO65() { this.router.navigate(['/login/fingerprintAIO65']); } loginWithFingerprintAIO66() { this.router.navigate(['/login/fingerprintAIO66']); } loginWithFingerprintAIO67() { this.router.navigate(['/login/fingerprintAIO67']); } loginWithFingerprintAIO68() { this.router.navigate(['/login/fingerprintAIO68']); } loginWithFingerprintAIO69() { this.router.navigate(['/login/fingerprintAIO69']); } loginWithFingerprintAIO70() { this.router.navigate(['/login/fingerprintAIO70']); } loginWithFingerprintAIO71() { this.router.navigate(['/login/fingerprintAIO71']); } loginWithFingerprintAIO72() { this.router.navigate(['/login/fingerprintAIO72']); } loginWithFingerprintAIO73() { this.router.navigate(['/login/fingerprintAIO73']); } loginWithFingerprintAIO74() { this.router.navigate(['/login/fingerprintAIO74']); } loginWithFingerprintAIO75() { this.router.navigate(['/login/fingerprintAIO75']); } loginWithFingerprintAIO76() { this.router.navigate(['/login/fingerprintAIO76']); } loginWithFingerprintAIO77() { this.router.navigate(['/login/fingerprintAIO77']); } loginWithFingerprintAIO78() { this.router.navigate(['/login/fingerprintAIO78']); } loginWithFingerprintAIO79() { this.router.navigate(['/login/fingerprintAIO79']); } loginWithFingerprintAIO80() { this.router.navigate(['/login/fingerprintAIO80']); } loginWithFingerprintAIO81() { this.router.navigate(['/login/fingerprintAIO81']); } loginWithFingerprintAIO82() { this.router.navigate(['/login/fingerprintAIO82']); } loginWithFingerprintAIO83() { this.router.navigate(['/login/fingerprintAIO83']); } loginWithFingerprintAIO84() { this.router.navigate(['/login/fingerprintAIO84']); } loginWithFingerprintAIO85() { this.router.navigate(['/login/fingerprintAIO85']); } loginWithFingerprintAIO86() { this.router.navigate(['/login/fingerprintAIO86']); } loginWithFingerprintAIO87() { this.router.navigate(['/login/fingerprintAIO87']); } loginWithFingerprintAIO88() { this.router.navigate(['/login/fingerprintAIO88']); } loginWithFingerprintAIO89() { this.router.navigate(['/login/fingerprintAIO89']); } loginWithFingerprintAIO90() { this.router.navigate(['/login/fingerprintAIO90']); } loginWithFingerprintAIO91() { this.router.navigate(['/login/fingerprintAIO91']); } loginWithFingerprintAIO92() { this.router.navigate(['/login/fingerprintAIO92']); } loginWithFingerprintAIO93() { this.router.navigate(['/login/fingerprintAIO93']); } loginWithFingerprintAIO94() { this.router.navigate(['/login/fingerprintAIO94']); } loginWithFingerprintAIO95() { this.router.navigate(['/login/fingerprintAIO95']); } loginWithFingerprintAIO96() { this.router.navigate(['/login/fingerprintAIO96']); } loginWithFingerprintAIO97() { this.router.navigate(['/login/fingerprintAIO97']); } loginWithFingerprintAIO98() { this.router.navigate(['/login/fingerprintAIO98']); } loginWithFingerprintAIO99() { this.router.navigate(['/login/fingerprintAIO99']); } loginWithFingerprintAIO100() { this.router.navigate(['/login/fingerprintAIO100']); } loginWithFingerprintAIO101() { this.router.navigate(['/login/fingerprintAIO101']); } loginWithFingerprintAIO102() { this.router.navigate(['/login/fingerprintAIO102']); } loginWithFingerprintAIO103() { this.router.navigate(['/login/fingerprintAIO103']); } loginWithFingerprintAIO104() { this.router.navigate(['/login/fingerprintAIO104']); } loginWithFingerprintAIO105() { this.router.navigate(['/login/fingerprintAIO105']); } loginWithFingerprintAIO106() { this.router.navigate(['/login/fingerprintAIO106']); } loginWithFingerprintAIO107() { this.router.navigate(['/login/fingerprintAIO107']); } loginWithFingerprintAIO108() { this.router.navigate(['/login/fingerprintAIO108']); } loginWithFingerprintAIO109() { this.router.navigate(['/login/fingerprintAIO109']); } loginWithFingerprintAIO110() { this.router.navigate(['/login/f
内容来源: angular/protractor