Ceci est mon premier post sur StackOverflow et j'espère avoir été en mesure de fournir l'ensemble du problème en détail. S'il vous plaît faites le moi savoir au cas où je devrais fournir d'autres informations. Description du problème: J'utilise un fil d'Ariane régulier qui affiche mon ordre de navigation d'une page à l'autre. Le fil d'Ariane a un id = "divbreadcrumb" au format html.Selenium webdriver retourne string.Empty pour le texte de fil d'ariane (IwebElement) lorsqu'il est déployé sur TFS
Ex: Si je navigue de page d'accueil (Home) à la page Réservations (réservations), la navigation est comme ci-dessous:
Accueil> Réservations
Je souhaite automatiser mes tests de fil d'Ariane et Vérifiez le texte du fil d'Ariane affiché sur la page par rapport au texte de fil d'Ariane réel qu'il devrait être. J'essaye de réaliser cela en employant le sélénium Webdriver avec des outils d'ATDD à savoir Specflow/SpecRun et Nunit en utilisant le code comme mentionné ci-dessous. Maintenant, quand j'essaye d'exécuter le test sur ma machine locale, ça marche bien mais quand j'inscris le code dans TFS et le compile, le VS Test Runner échoue parce qu'il ne trouve pas le texte de l'élément IwebElement ou il renvoie le texte sous la forme String.Empty. Maintenant, le même test, lorsqu'il est exécuté sur ma machine locale, fonctionne parfaitement bien en donnant les résultats de test attendus et les valeurs attendues pour mon Iwebelement (pour le fil d'Ariane). De plus, la structure HTML du fil d'Ariane ci-dessus est rendue au backend, ce que je peux dire parce que j'ai essayé de voir le HTML rendu en utilisant la propriété pagesource de webdriver à l'exécution et l'afficher dans mon message Exception.
Aussi, mon back-end code HTML est affiché comme:
<div class="breadcrumb" >
<div class="breadcrumb-content" >
<div class="breadcrumb" id="divBreadcrumb" >
<a onclick="some code written here" href="xyz.com">Home</a>
> <a href="LMN.com">Bookings </a>
</div>
</div>
</div>
PFB le code que je l'ai utilisé dans mon script d'automatisation pour vérifier le texte venant de fil d'Ariane sur la page:
public void TestingBreadcrumb(int p0)
{
InternetExplorerOptions IEOptions = new InternetExplorerOptions();
IEOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
IEOptions.IgnoreZoomLevel = true;
IEOptions.UnexpectedAlertBehavior = InternetExplorerUnexpectedAlertBehavior.Ignore;
IWebDriver iEDriver = new InternetExplorerDriver(IEOptions);
iEDriver.Manage().Window.Maximize();
iEDriver.Navigate().GoToUrl("http://example.com");
var breadcrumb = iEDriver.FindElement(By.Id("divBreadcrumb")).Text.ToString();
Assert.AreEqual("Home > Bookings ", breadcrumb);
}
l'erreur que je reçois est
[ERROR] Expected string length 18 but was 0. Strings differ at index 0. Expected: "Home > Bookings "
But was: <string.Empty>
-----------^
La duplication possible de [Webdriver Selenium renvoie String.Empty pour le texte de fil d'Ariane Iwebelement lors du déploiement sur TFS] (http://stackoverflow.com/questions/36305151/selenium-webdriver-returns-string-empty-for-breadcrumb-text -iwebelement-when-dep) – Andersson
@Andersson - oui. Je voulais apporter des modifications à mon autre question ci-dessus et je pensais que cela modifierait ma question, mais il l'a copié dans une nouvelle question. J'ai supprimé la question ci-dessus car ce post contient toutes les informations que je pourrais partager concernant mon problème/erreur. – Anchit