2017-02-28 1 views
1

Je rencontre des problèmes pour trouver un élément lorsque je souhaite créer une nouvelle page dans Sharepoint 2010. J'exporte mon testcase depuis Selenium IDE Java/Junit 4 WebDriver vers Eclipse.Impossible de localiser l'élément dans la fenêtre contextuelle SharePoint

Voilà comment la fenêtre pop-up ressemble: http://imgur.com/a/oLNLb

Ive a essayé plusieurs localisateurs d'éléments différents et des combinaisons comme: Xpath, Csselector, Id, Nom et aucun d'entre eux semble être en mesure de trouver la champ de saisie.

Pourquoi est-ce comme ça? J'ai essayé avec ExplicitWait et Implicit mais cela ne semble pas résoudre mon problème.

est ici où il se coince:

try{ 
     assertTrue(isElementPresent(By.cssSelector("#ctl00_PlaceHolderMain_nameInput"))); 
    } 
    catch(Error e) { 
     verificationErrors.append(e.toString()); 
    } 


    driver.findElement(By.xpath(".//*[@id='ctl00_PlaceHolderMain_nameInput']")).click(); 

Merci à l'avance. :)

+1

u peut partager la html – NarendraR

+0

@NarendraRajput désolé, ce n'est pas possible! – AlanD

Répondre

1

Les fenêtres contextuelles dans SharePoint 2010 sont généralement des iframes avec des pages incorporées.

Si vous pouvez obtenir une référence à l'iframe, vous pouvez interroger la page incorporée à l'aide de la propriété contentDocument de l'iframe.

Par exemple, si votre iframe a un nom de classe de ms-dlgFrame, et le contrôle de saisie de texte a un ID de ctl00_PlaceHolderMain_nameInput, vous pouvez utiliser le code JavaScript suivant pour sélectionner la zone de texte d'entrée:

document.querySelector(".ms-dlgFrame").contentDocument.querySelector("#ctl00_PlaceHolderMain_nameInput") 
+1

Merci pour votre réponse. Maintenant, je devrais apprendre à exécuter des commandes JS en Java. Votre réponse m'a donné l'indice! Merci! – AlanD