cliquer sur une suggestbox
Salut,
Je suis en train de tester l'interface de mon application avec Selenium 2.0 (webdriver etc)
Le soucis vient de la suggestbox, qui est déclanchée lorsque l'on rentre des données dans un champs de type input, donc pour ce test, je dois valider la suggestbox pour que mon champs soit valide.
Image : Image
Code html (input) :
Code:
1 2 3 4 5 6 7 8 9 10
| <table class="supplier" cellspacing="1" width="100%">
<tbody>
<tr>
<td><span id="supplier:supplierOps" class="ui-autocomplete">
<input id="supplier:supplierOps_input" name="supplier:supplierOps_input" type="text" class="ui-autocomplete-input ui-inputfield ui-widget ui-state-default ui-corner-all" autocomplete="off" value="" size="10" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false">
</span></td>
<td>...</td>
</tr>
</tbody>
</table> |
Code html (suggestBox) :
Code:
1 2 3 4 5 6 7
| <table class="ui-autocomplete-items ui-autocomplete-table ui-widget-content ui-widget ui-corner-all ui-helper-reset">
<tbody>
<tr class="ui-autocomplete-item ui-autocomplete-row ui-corner-all ui-state-highlight" data-item-value="1" data-item-label="OPS1">
<td>OPS1 - Supplier1</td>
</tr>
</tbody>
</table> |
Code selenium :
Code:
1 2 3 4 5 6 7 8 9
| // supplier ops, i find and type data into the input
WebElement eSupplier = driver.findElement(By.id("supplier:supplierOps_input"));
eSupplier.sendKeys("OPS1");
sleep(5); // wait the suggestbox
// i find the suggestbox
WebElement eSupplierSuggest = driver.findElement(By.xpath("//div[@id='supplier:supplierOps_panel']/table/tbody/tr"));
eSupplierSuggest.click();
sleep(5); // wait the refresh for the next field supplierAddress |
Mon xpath est bon car j'arrive à récupérer la suggestbox.
Alors la question est : Quel ellement ( td, tr, table, ...) dois-je utiliser et quelle methode (driver.click(), sendKeys(), ...) je vais devoir utiliser pour valider cette suggestbox?
PS voici le topic sur http://stackoverflow.com/