2013-02-18 6 views
1

Je suis une erreur [error] Element //div[@id='newslist_config']//button[@type='button'] not found lors de l'utilisation d'exécution automatique pour exécuter mon test de sélénium, mais si je clique sur la commande et choisissez Execute this command Les tests passent. Pourriez-vous me dire pourquoi le sélénium ne peut pas trouver cet élément?erreur Element // ..... not found

Mon test de sélénium est

<tr> 
    <td>click</td> 
    <td>//div[@id='newslist_config']//button[@type='button']</td> 
    <td></td> 
</tr> 

Le html est

<div id="newslist_config" class="section-box span8"> 
<div class="accordion-group"> 
<div class="accordion-heading"> 
<h3>News-List Configuration</h3> 
<a class="btn btn-danger close_newslist_config" data-dismiss="modal" href="#">remove widget</a> 
<button class="btn btn-info collapse-btn" type="button" href="#collapse_newslist" data-parent="#newslist_config" data-toggle="collapse"> 
<span class="edit-btn-txt"> 
<span class="collapse-btn-txt"> 
</button> 
</div> 
<div id="collapse_newslist" class="collapse collapse-box"> 
</div> 
</div> 
+0

Qu'en est-'// div [@ id = 'accordéon cap']/descendant :: entrée [@ type = 'bouton']'? – Arran

Répondre

0

Vous pouvez plutôt essayer XPath: //div[@id='accordion-heading']/button[@type='button'] Ceci est un chemin plus direct; Si cela ne fonctionne pas, je suggèrerais d'essayer de cliquer sur l'une des plages de contenance, car parfois, en raison du style, cliquer sur une plage d'éléments permet d'obtenir des résultats plus cohérents. J'ai parfois ce problème lorsque je travaille avec WebDriver dans KendoUI.

+0

Je change pour utiliser // div [@ id = 'newslist_config']/div [@ class = 'groupe accordéon']/div [@ class = 'accordéon-heading']/bouton [@ type = 'bouton'] mais il ne marche toujours pas quand je cours avec "jouer actuellement le cas de test" Mais si travail quand je clique droit à la commande et choisis "Exécute cette commande –

+1

Il a fixé en employant la pause 999 après commande de clic :) –

+0

Si cela ne fonctionne que quand vous exécutez la commande directement (ou avec une pause) vous êtes probablement en train de faire quelque chose de mal avant ou après ce xpath.Il peut être intéressant de regarder les zones environnantes de votre code car les couchages ne sont pas géniaux! – Nashibukasan

0

Approche:

1.Derive le sélecteur CSS du DOM donné.

= # newslist_config css .collapse-btn

2.Perform clic

driver.findElement (By.cssSelector ("# newslist_config .collapse-BTN")) cliquez sur().