J'ai essayé un certain nombre de choses pour essayer d'obtenir un événement 'onchange' dans un menu déroulant de Selenium, mais rien de tout cela n'a fonctionné.Sélénium onChange ne fonctionne pas
Le HTML incriminé est:
<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>
J'ai lu que Selenium IDE n'enregistre pas certains sur les événements *, et il serait donc sage d'utiliser 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");
Cependant, cela ne fonctionne pas (avec ou sans fireEvent). J'ai aussi essayé d'utiliser
$this->fireEvent("locator", "click");
au lieu de
$this->click("locator");
mais cela n'a rien fait. Le sélénium ne se plaint pas de l'inexistence de ces localisateurs, donc je suppose qu'il peut voir les éléments select/option. Le problème semble être l'événement onChange.
Est-ce que quelqu'un sait comment résoudre ce problème?
Merci.
Quel navigateur utilisez-vous? – John
Je suis en train de tester Firefox 3.5.8. – tohop