public void PerformSignInFlow( ITestController controller, LabUser user, string testToRun) { UserInformationFieldIds userInformationFieldIds = DetermineUserInformationFieldIds(user); controller.Tap(CoreUiTestConstants.TestsToRunPicker); controller.Tap(testToRun); try { controller.WaitForWebElementByCssId(CoreUiTestConstants.WebUPNInputId); //i0116 = UPN text field on AAD sign in endpoint controller.EnterText(CoreUiTestConstants.WebUPNInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); //idSIButton9 = Sign in button controller.Tap(CoreUiTestConstants.WebSubmitId, XamarinSelector.ByHtmlIdAttribute); //i0118 = password text field controller.WaitForWebElementByCssId(userInformationFieldIds.GetPasswordInputId()); controller.EnterText(userInformationFieldIds.GetPasswordInputId(), user.GetOrFetchPassword(), XamarinSelector.ByHtmlIdAttribute); controller.Tap(userInformationFieldIds.GetPasswordSignInButtonId(), XamarinSelector.ByHtmlIdAttribute); } catch { Console.WriteLine("Failed to find UPN input. Attempting to click on UPN from select account screen"); controller.Tap(user.Upn, XamarinSelector.ByHtmlValue); } }
public void PerformB2CSignInFlow(ITestController controller, LabUser user, B2CIdentityProvider b2CIdentityProvider, bool isB2CLoginAuthority) { SetB2CAuthority(controller, true); UserInformationFieldIds userInformationFieldIds = DetermineUserInformationFieldIds(user); controller.Tap(_acquirePageId); //Acquire token flow controller.Tap(CoreUiTestConstants.AcquireTokenButtonId); switch (b2CIdentityProvider) { case B2CIdentityProvider.Local: PerformB2CLocalAccountSignInFlow(controller, user, userInformationFieldIds); break; case B2CIdentityProvider.Google: PerformB2CGoogleProviderSignInFlow(controller, user, userInformationFieldIds); break; case B2CIdentityProvider.Facebook: PerformB2CFacebookProviderSignInFlow(controller, user, userInformationFieldIds); break; default: throw new InvalidOperationException("B2CIdentityProvider unknown"); } VerifyResult(controller); }
public void PerformB2CSignInFlow( ITestController controller, LabUser user, B2CIdentityProvider b2CIdentityProvider, string testToRun) { UserInformationFieldIds userInformationFieldIds = DetermineUserInformationFieldIds(user); controller.Tap(CoreUiTestConstants.TestsToRunPicker); controller.Tap(testToRun); switch (b2CIdentityProvider) { case B2CIdentityProvider.Local: PerformB2CLocalAccountSignInFlow(controller, user, userInformationFieldIds); break; case B2CIdentityProvider.Google: PerformB2CGoogleProviderSignInFlow(controller, user, userInformationFieldIds); break; case B2CIdentityProvider.Facebook: PerformB2CFacebookProviderSignInFlow(controller, user, userInformationFieldIds); break; default: throw new InvalidOperationException("B2CIdentityProvider unknown"); } }
public void PerformSignInFlow(ITestController controller, LabUser user) { UserInformationFieldIds userInformationFieldIds = DetermineUserInformationFieldIds(user); //Acquire token flow controller.Tap(CoreUiTestConstants.AcquireTokenButtonId); try { //i0116 = UPN text field on AAD sign in endpoint controller.EnterText(CoreUiTestConstants.WebUPNInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); //idSIButton9 = Sign in button controller.Tap(CoreUiTestConstants.WebSubmitId, XamarinSelector.ByHtmlIdAttribute); //i0118 = password text field controller.EnterText(userInformationFieldIds.PasswordInputId, LabUserHelper.GetUserPassword(user), XamarinSelector.ByHtmlIdAttribute); controller.Tap(userInformationFieldIds.PasswordSignInButtonId, XamarinSelector.ByHtmlIdAttribute); } catch { Console.WriteLine("Failed to find UPN input. Attempting to click on UPN from select account screen"); controller.Tap(user.Upn, XamarinSelector.ByHtmlValue); } }
public static UserInformationFieldIds DetermineUserInformationFieldIds(LabUser user) { UserInformationFieldIds userInformationFieldIds = new UserInformationFieldIds(user); return(userInformationFieldIds); }
public void PerformB2CGoogleProviderSignInFlow(ITestController controller, LabUser user, UserInformationFieldIds userInformationFieldIds) { controller.Tap(CoreUiTestConstants.GoogleAccountId, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(CoreUiTestConstants.WebUpnB2CGoogleInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); controller.Tap(CoreUiTestConstants.B2CGoogleNextId, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(userInformationFieldIds.GetPasswordInputId(true), user.GetOrFetchPassword(), XamarinSelector.ByHtmlIdAttribute); controller.Tap(userInformationFieldIds.GetPasswordSignInButtonId(true), XamarinSelector.ByHtmlIdAttribute); }
public void PerformB2CFacebookProviderSignInFlow(ITestController controller, LabUser user, UserInformationFieldIds userInformationFieldIds) { controller.WaitForWebElementByCssId(CoreUiTestConstants.FacebookAccountId); controller.Tap(CoreUiTestConstants.FacebookAccountId, XamarinSelector.ByHtmlIdAttribute); controller.WaitForWebElementByCssId(CoreUiTestConstants.WebUpnB2CFacebookInputId); controller.EnterText(CoreUiTestConstants.WebUpnB2CFacebookInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(userInformationFieldIds.GetPasswordInputId(true), user.GetOrFetchPassword(), XamarinSelector.ByHtmlIdAttribute); controller.WaitForWebElementByCssId(userInformationFieldIds.GetPasswordSignInButtonId(true)); controller.Tap(userInformationFieldIds.GetPasswordSignInButtonId(true), XamarinSelector.ByHtmlIdAttribute); }
public void PerformB2CLocalAccountSignInFlow(ITestController controller, LabUser user, UserInformationFieldIds userInformationFieldIds) { controller.EnterText(CoreUiTestConstants.WebUpnB2CLocalInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); if (_platform == Xamarin.UITest.Platform.iOS) { controller.Tap(CoreUiTestConstants.B2CWebPasswordId, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(CoreUiTestConstants.B2CWebPasswordId, user.GetOrFetchPassword(), XamarinSelector.ByHtmlIdAttribute); controller.DismissKeyboard(); } else { controller.EnterText(userInformationFieldIds.GetPasswordInputId(true), user.GetOrFetchPassword(), XamarinSelector.ByHtmlIdAttribute); } controller.Tap(userInformationFieldIds.GetPasswordSignInButtonId(true), XamarinSelector.ByHtmlIdAttribute); }
public void PerformB2CLocalAccountSignInFlow(ITestController controller, LabUser user, UserInformationFieldIds userInformationFieldIds) { controller.EnterText(CoreUiTestConstants.WebUpnB2CLocalInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(userInformationFieldIds.PasswordInputId, user.GetOrFetchPassword(), XamarinSelector.ByHtmlIdAttribute); controller.Tap(userInformationFieldIds.PasswordSignInButtonId, XamarinSelector.ByHtmlIdAttribute); }
public void PerformB2CFacebookProviderSignInFlow(ITestController controller, LabUser user, UserInformationFieldIds userInformationFieldIds) { controller.Tap(CoreUiTestConstants.FacebookAccountId, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(CoreUiTestConstants.WebUpnB2CFacebookInputId, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(userInformationFieldIds.PasswordInputId, user.Password, XamarinSelector.ByHtmlIdAttribute); controller.Tap(userInformationFieldIds.PasswordSignInButtonId, XamarinSelector.ByHtmlIdAttribute); }