2016-05-16 16 views
0

In meinem Fall enthält eine Seite Dropdown-Steuerelement. Welches ist eigentlich Input Tag von HTML-Code, mit ExtJs kann es Wert eingestellt werden. Jetzt versuche ich diese Steuerwertauswahl mit webDriver zu automatisieren. Folgendes ist mein Skript, das diesen Code ausführt. Der Standardwert des Steuerelements ist 'Equal'.DropDown ausgewählt Wert im Browser nicht sichtbar

Here is my Html code and control

Jetzt versuche ich diesen Steuerwert Auswahl mit WebDriver zu automatisieren. Folgendes ist mein Skript, das ich verwende.

@Test(priority=4, dependsOnMethods = {"GoToAssesssmentMetaDataSearch"},alwaysRun = true) 
public void SelectSearchCriteriaAssesssmentMetaDataSearch(){ 
     mDriver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);  
     JavascriptExecutor jse = (JavascriptExecutor)mDriver; 
     ((JavascriptExecutor)mDriver).executeAsyncScript("jQuery('.x-form-field.x-form-text.x-form-text-default.x-form-focus.x-field-form-focus.x-field-default-form-focus').val('In');"); 
     mDriver.manage().timeouts().setScriptTimeout(15, TimeUnit.SECONDS); 
} 

Dieses Skript erfolgreich ausgeführt und Test passed.But in GUI-Fenster (Intput Tag) nicht bekommen Istwert zeigt, die Laufzeit in Skript heißt ‚In‘ in diesem Fall eingestellt ist. Wenn ich den gleichen jQuery Befehl in WenDriver Browser-Instanz Konsolenfenster überprüfen zeigt es ausgewählten Wert. Kann mir jemand sagen, wo ich falsch liege.

Antwort

0

Try this:

WebElement element = (new WebDriverWait(driver, 10)) 
    .until(ExpectedConditions.elementToBeClickable(By.cssSelector("input#combobox-2006-bodyE1"))); 
driver.findElement(By.cssSelector("input#combobox-2006-inputE1")).sendKeys("In"); 

lassen Sie mich wissen, ob das hilft ..

Hinweis gewisse Wartezeit geben vor und stellen Sie sicher, dass das Element vorhanden ist

+0

nicht, es zeigt Exception „Element sein sollte‚wählen‘, sondern eingegeben wurde“. Dies liegt daran, meine eigentliche Web-Steuerung INPUT-Tag ist und Select ist für DropDown verwenden. – Ishekh

+0

Ich werde aktualisieren die Antwort –

+0

meine Antwort aktualisiert .. überprüfen, ob es –

0

Bitte verwenden Sie diesen

Select obj = new Select(driver.findElement(By.id("comobobox-2006-inputE!"))); 
  1. obj.selectByVisibleText("EQUALS");
  2. obj.selectByIndex(0);
  3. obj.selectByValue("eq");

jemand wählen & mich wissen zu lassen, wenn diese Ihnen helfen. Und ändern Sie die Suche nach Element-Locator-Auswahl, wenn die Suche nach ID nicht hilfreich für Sie ist. Verwenden Sie xpath anstelle von id.

+0

Problem hilft. Versuchen Sie es auch mit anderen Optionen id, xpath und cssselector. aber kein Glück. – Ishekh

Verwandte Themen