public void PerformB2CLocalAccountSignInFlow(ITestController controller, LabUser user, UserInformationFieldIds userInformationFieldIds) { controller.EnterText(CoreUiTestConstants.WebUPNB2CLocalInputID, 20, user.Upn, XamarinSelector.ByHtmlIdAttribute); controller.EnterText(userInformationFieldIds.PasswordInputId, LabUserHelper.GetUserPassword(user), XamarinSelector.ByHtmlIdAttribute); controller.Tap(userInformationFieldIds.SignInButtonId, XamarinSelector.ByHtmlIdAttribute); }
public void PerformSignInFlow(ITestController controller, LabUser user) { UserInformationFieldIds userInformationFieldIds = DetermineUserInformationFieldIds(user); //Acquire token flow controller.Tap(CoreUiTestConstants.AcquireTokenID); //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.SignInButtonId, XamarinSelector.ByHtmlIdAttribute); }
public void TestInitialize() { if (user == null) { user = LabUserHelper.GetDefaultUser().User; string stringPassword = LabUserHelper.GetUserPassword(user); securePassword = new NetworkCredential("", stringPassword).SecurePassword; authority = string.Format( CultureInfo.InvariantCulture, AuthorityTemplate, user.CurrentTenantId); } InitAdal(); InitMsal(); }
public async Task AcquireTokenWithFederatedUsernamePasswordAsync() { var user = LabUserHelper.GetDefaultUser().User; SecureString securePassword = new NetworkCredential("", LabUserHelper.GetUserPassword(user)).SecurePassword; PublicClientApplication msalPublicClient = new PublicClientApplication(ClientId, Authority); AuthenticationResult authResult = await msalPublicClient.AcquireTokenByUsernamePasswordAsync(Scopes, user.Upn, securePassword).ConfigureAwait(false); Assert.IsNotNull(authResult); Assert.IsNotNull(authResult.AccessToken); Assert.IsNotNull(authResult.IdToken); Assert.AreEqual(user.Upn, authResult.Account.Username); // If test fails with "user needs to consent to the application, do an interactive request" error, // Do the following: // 1) Add in code to pull the user's password before creating the SecureString, and put a breakpoint there. // string password = ((LabUser)user).GetPassword(); // 2) Using the MSAL Desktop app, make sure the ClientId matches the one used in integration testing. // 3) Do the interactive sign-in with the MSAL Desktop app with the username and password from step 1. // 4) After successful log-in, remove the password line you added in with step 1, and run the integration test again. }
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); } }