2017-10-20 2 views
2

Mit Nightwatch habe ich Probleme, ein Element auf meiner Seite zu finden, das XPATH ist GUT, weil ich es mit FirePath gefunden habe.NightWatch - Element mit XPath-Locator kann nicht gefunden werden mit Wert

Meine Seite Code:

<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"/> 

......

Meine Wähler:

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

Mein Befehl:

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

Aber ich habe die Nachricht :

× Zeitlimit, während auf das Element für 10000 Millisekunden sichtbar gewartet wird. - expec ted "sichtbar" aber erhalten: "nicht sichtbar"

Haben Sie bereits das gleiche Problem?

+1

kann es hilfreich sein, Ihren Testskriptcode zu sehen. Wenn Sie den Test laufen sehen, ist das Objekt tatsächlich sichtbar? Vielleicht müssen Sie tatsächlich zuerst zu diesem Bild blättern (ich stoße gelegentlich auf Situationen, in denen ich eine Bildlauffunktion zu dem Element erzwingen muss) –

+0

Das Element ist auf der Seite niedriger. –

Antwort

0

Ich habe ein paar Fragen 1. waitForElementVisible Code

  1. Wie viele Elemente zurückgegeben werden, zu fragen, wenn Sie den XPath in firepath

  2. geben Ist das Element sichtbar auf der Seite oder es erfordert Scrollen?

+0

Hallo, tatsächlich erscheint 1 Element. Aber ich scheint zu scrollen. –

0

@ Ratnadip,

Es gib 1 Element von XPath. Aber ich glaube, dass Sie sich haben über das Scrollen, weil mein Element weiter unten in der Seite ist ..

ich einige versucht, denkt wie:

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

aber es funktioniert nicht.

Dank

Verwandte Themen