2017-10-20 17 views
2

Avec nightwatch, j'ai des problèmes pour trouver un élément sur ma page, le XPATH est bon, parce que je l'ai trouvé avec FirePath.NightWatch - impossible de trouver l'élément avec xpath locator sur une entrée avec la valeur

Mon code de la page:

<label class="switch " data-ng-repeat="item in values"> 
<input class="ng-pristine ng-untouched ng-invalid ng-invalid-required" 
name="obtentionPermisConduiteAccompagneeSwitcher" value="N" ng- 
model="$parent.model" ng-required="!$parent.model" required="required" 
type="radio"/> 

......

Mon sélecteur:

input_conduiteAccompagnee: { 
selector: './/input[@name="obtentionPermisConduiteAccompagneeSwitcher" and @value="N"]', 
locateStrategy: 'xpath' 
}, 

Ma commande:

//conduite accompagnee 
onglet_conducteur.waitForElementVisible('@input_conduiteAccompagnee', 
10000); 
onglet_conducteur.click('@input_conduiteAccompagnee'); 
browser.pause(3000); 

Mais j'ai le message :

× Expiration du délai d'attente de l'élément pendant 10 000 millisecondes. - expec ted "visible" mais obtenu: "non visible"

Avez-vous déjà eu le même problème?

+1

il peut être utile de voir votre code de script de test. Lorsque vous regardez le test en cours, l'élément est-il réellement visible? Peut-être que vous devrez d'abord faire défiler vers l'élément (je rencontre parfois des situations lorsque je dois forcer un défilement vers l'élément) –

+0

L'élément est plus bas dans la page. –

Répondre

0

J'ai quelques questions à poser 1. Code waitForElementVisible

  1. Combien d'éléments sont retournés lorsque vous donnez le XPath dans firepath

  2. est l'élément visible sur la page ou nécessite un défilement?

+0

Bonjour, En fait 1 élément apparaît. Mais je semble faire défiler .. –

0

@ Ratnadip,

Il renvoit 1 élément par XPATH. Mais je pense que vous avez droit sur le défilement parce que mon élément est plus faible dans la page ..

J'ai essayé quelques-uns pense comme:

onglet_conducteur.getLocationInView('@select_conduiteAccompagnee', 
function(result) { 
this.execute('scrollTo(result.value.x, result.value.y)'); 
this.execute('scrollIntoView'); 
}); 

mais il ne fonctionne pas.

Merci