2017-01-05 4 views
0

Ich versuche, Coded UI-Tests für meine Organisation zu erstellen. Ich benutze Selenium IDE 2.9.1, das Plugin für Firefox. Ich zeichne meine Schritte mit dem Plugin auf und exportiere dann meinen Testfall als "C#/NUnit/WebDriver" -Datei. Ich öffne diese Datei dann in Visual Studio 2015.Wie bekomme ich Selenium Webdriver zu konzentrieren (mit C#)?

Mein aktuelles Problem ist, dass ich die FindElement-Funktion nicht erhalten kann, um das richtige Feld auszuwählen. Ich bin die folgende mit dem Feld wählen, aber es funktioniert nicht richtig:

driver.FindElement(By.Id("FIELDID")).SendKeys("TEXTTOINPUT"); 

Wenn ich debuggen, ist dieser Schritt verursacht Firefox am oberen Rand der Seite, auf der URL-Leiste zu konzentrieren und dann bewirkt eine System.NullReference Ausnahme .

Ich habe überall gesucht und kann keine Lösung finden, die für mein Problem funktioniert. Ich würde mich über alle Informationen freuen, die Sie zur Verfügung stellen können.

Grüße, JM

+0

Mögliche Duplikate von [Was ist eine NullReferenceException, und wie behebe ich es?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) – AdrianHHH

Antwort

0

Können Sie die Seite mit Firebug inspizieren? Dadurch erhalten Sie den tatsächlichen Namen des Feldes, das Sie in Selenium finden möchten. Meine Vermutung ist, dass entweder die ID nicht wirklich festgelegt ist oder dynamisch generiert wird, was es anders als das, was Sie verwenden, ist FindElement(By.Id("FIELDID")).

+0

Es stellte sich heraus, dass das Element, das ich auswählte, in einem Frame war. Wir haben 'driver.SwitchTo() verwendet. Frame (driver.FindElement (By.Id ("tabRequests_frame0")));' was perfekt funktioniert hat. – JacobCoy9

0

Wir haben

driver.SwitchTo().Frame(driver.FindElement(By.Id("tabRequests_frame0"))); 

... weil das Element wir in einem Rahmen war auswählten.

Verwandte Themen