2017-11-24 2 views
-1

Ich verwende Specflow mit Selen C# auf NUnit Test-Framework zu identifizieren und kämpft, um die folgende Suchfeld und geben Sie den Suchtext zu identifizieren -Unable Suchfeld mit NUnit-Selen (C#) Rahmen

<td style="padding-top:3px">        
    <input type="text" name="txtSearch" id="txtSearch" class="smallTextbox" nkeydown="CheckEnterKey(event)"> 
</td> 
<input type="text" name="txtSearch" id="txtSearch" class="smallTextbox" onkeydown="CheckEnterKey(event)"> 
</td>* 

Meine Code wie unten scheint nicht zu funktionieren -

var topFrame = driver.FindElement(By.Id("menu")); 
topFrame.Click(); 

var searchBox = driver.FindElement(By.ClassName("smallTextbox")); 
searchBox.SendKeys("xyz"); 

Irgendwelche Vorschläge bitte !!

+2

"Mein Code funktioniert nicht" ist nicht hilfreich. Was ist der Fehler, den Sie bekommen? – bit

+0

Außerdem scheint Ihr Markup geschraubt zu sein und es gibt mehrere Elemente mit Klasse 'smallTextbox' – bit

+0

war wahrscheinlich ein Copy-Paste-Fehler beim Versuch zu schreiben :( – SymboCoder

Antwort

0

Es ist immer besser, Id statt ClassName zu verwenden, da Id eindeutig ist, aber ClassName kann mehrere sein.

var searchBox = driver.FindElement(By.Id("txtSearch")); 
searchBox.Clear(); 
searchBox.SendKeys("xyz"); 

Noch eine Frage, in Ihrem HTML Ich sehe zwei Eingabetext mit der gleichen Id. Sie sollten eine Eingabe kommentieren.

+0

Danke Ali, versuchte das auch ... scheint wie der Code selbst ist schief und Selen ist nicht in der Lage, es zu identifizieren – SymboCoder

+0

@Sash, was ist der Fehler? –

+0

Es wird kein Fehler angezeigt. Wenn ich meinen Selentest ausführe, kann er weder mit dem 'ClassName' noch mit 'Id' identifiziert werden in meinem Code um zum Hauptrahmen zu wechseln und zu arbeiten - driver.SwitchTo(). Frame ("menu"); – SymboCoder