Testen eine Nur-Lese-Textbox mit Selen
Ich mag würde testen, ob diese Textbox schreibgeschützt ist (nicht in der Lage/bearbeiten zu geben). Hinweis: Der Wert in der Textbox ist jedes Mal anders.
HTML-Code:
<input type="text" class="form-control" id="system_lan1_mac" value="00:15:8b:00:5f:8e" disabled="">
Ich habe versucht, das Textfeld mit dem folgenden Code zu finden:
def test_a(self):
ip = self.find_by_id('system_lan2_mac')
self.assertFalse(ip.is_enabled())
Das funktioniert nicht - ich bin mir bewusst, dass is_enabled() soll nicht auf in diesem Zusammenhang verwendet werden. Beim Suchen nach dem Textfeld tritt ein Zeitüberschreitungsfehler auf. Wenn ich die ID zu einer normalen Textbox ändere, kann der Test sie finden. Sobald ich es in eine schreibgeschützte ID ändere, gibt es einen Timeout-Fehler.
Dank
EDIT: find_by_id Code:
def find_by_id(self, setting):
element = self.wait.until(EC.element_to_be_clickable((By.ID, setting)))
return element
WebDriverWait Definition:
cls.wait = WebDriverWait(cls.driver, 10)
Ihr Selektor verwendet 'id =" system_lan2_mac "' während in bereitgestellten 'HTML' ist es' id = "system_lan1_mac" '...' is_enabled() 'könnte in diesem Zusammenhang verwendet werden – Andersson
Hi. Entschuldigung - es gibt auch eine system_lan2_mac und der Code funktioniert nicht für diese Box. – Sithling
Verwenden Sie 'WebdriverWait' +' ExpectedConditions' in Ihrer 'self.find_by_id()'? Wenn ja, zeigen Sie uns diesen Code – Andersson