mon application xamarin.forms utilise Azure ad B2C pour authentification. Cela fonctionne bien. J'essaie de construire des tests d'automatisation de l'interface utilisateur maintenant et j'ai couru dans mon premier bloqueur. J'ai essayé d'attendre que le Webview vienne à l'écran pour que je puisse entrer l'e-mail et le mot de passe d'un utilisateur de test dans mon script d'automatisation des tests d'interface utilisateur, mais la méthode WaitForElement est toujours de temps sur!
[Test] public void RegistrationStarts() { app.Screenshot("Welcome screen."); app.WaitForElement(c => c.WebView()); app.Tap(c => c.WebView().Css("input#logonIdentifier")); app.EnterText("sample@example.com"); }
3 Réponses :
Y a-t-il une raison pour laquelle vous avez utilisé l'entrée avant l'ID? Si votre identifiant est votre identifiant de tout ce que vous voulez taper, il devrait simplement être également, si le logonentificateur est la zone de texte dans laquelle vous souhaitez taper, entrer le texte doit être p> < Pré> xxx pré> p>
Vous pouvez essayer d'attendre l'élément avec le délai d'attente - temps en miliseconde, deuxième et min. p>
app.waitforelement (x => x.marked ("AutomationID"), Timeout: Timespan.fromseconds (90)); P>
ou p>
Il semble que vous utilisiez Modifiez votre méthode d'acquisition de jeton avec webview. P> systembrowser code> au lieu de
webview code>.
AuthenticationResult authResult = await _pca.AcquireTokenInteractive(B2CConstants.Scopes)
.WithUseEmbeddedWebView(true)
.ExecuteAsync();