Anscheinend Selenium IDE ist ziemlich unzuverlässig. Der letzte Befehl im folgenden Skript hat z. B. keinen Effekt innerhalb des Skripts, aber wenn ich ihn doppelt anklicke, öffnet sich der Dateiauswahldialog. Warum?Selenium IDE: Warum ClickAt hier nicht funktioniert?
Eine andere Frage, wie kann ich Dateiauswahl mit einem nächsten Befehl bereitstellen?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://www.gumtree.com/" />
<title>gumtree</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">gumtree</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>https://my.gumtree.com/postad</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>//form[@id='frmSyi']/div/div/div/div/nav/ul/li[2]/div/span[2]</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>500</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>//form[@id='frmSyi']/div/div/div/div/div/div/div/div/ul/li[10]/span</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>500</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>//form[@id='frmSyi']/div/div/div/div/div/div[2]/div/div/ul/li[2]/span</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>500</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>//form[@id='frmSyi']/div/div/div/div/div/div[3]/div/div/ul/li[4]/span</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>500</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=continueButton</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>500</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>link=Add image</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
Wenn Sie statische Verzögerungen verwenden und nicht warten, bis bestimmte Elemente angezeigt werden, bevor Sie versuchen, auf sie zu klicken, und hässlichen langen xpath verwenden, für den Sie nicht einfach feststellen können, ob es richtig ist, dann wird IDE unzuverlässig. Versuchen Sie, "waitForElementPresent" zu verwenden, bevor Sie darauf klicken und bessere Locators verwenden. –
IDE ist seit Jahren veraltet, und Selenium hat die Leute dazu gedrängt, zu WebDriver zu wechseln, um Wartezeiten viel besser kontrollieren zu können. –
@AndrewRegan wo haben Sie gesehen, dass es veraltet war? AFAIK behandeln sie einfach nicht als eine ernsthafte Testmethode: "Verwenden Sie diese Option, um entweder einfache Skripts zu erstellen oder explorative Tests zu unterstützen." - sagt die Seite –