Ho provato una serie di cose per provare a ottenere da Selenium un evento "onchange" da un menu a discesa, nessuno dei quali ha funzionato.Selenium onChange non funzionante
Il codice HTML incriminato è:
<select onchange="doOpperation(this.options[this.selectedIndex]); this.selectedIndex = 0;" name="opps_ondemand" id="opps_ondemand">
<option value="none" id="ondemand">Mark as...</option>
<option cmd="blah1" value="add">Something</option>
<option cmd="blah2" value="remove">None</option>
</select>
Ho letto che Selenio IDE non registra alcuni su eventi *, e quindi sarebbe saggio usare fireEvent():
$this->click("opps_ondemand");
$this->select("opps_ondemand", "label=Mark as...");
$this->click("//option[@value='add']");
sleep(3);
$this->fireEvent("//select[@id='opps_ondemand']", "change");
Tuttavia, questo non funziona (con o senza fireEvent). Ho anche provato ad utilizzare
$this->fireEvent("locator", "click");
invece di
$this->click("locator");
ma questo non ha fatto nulla.
Il selenio non si lamenta di questi locatori non esistenti quindi presumo che possa vedere bene gli elementi di selezione/opzione. Il problema sembra essere l'evento onChange.
Qualcuno sa come risolvere questo?
Grazie.
Quale browser stai usando? – John
Sto testando su Firefox 3.5.8. – tohop