Ich bin neu zu Robot FrameworkPython Robot Framework findet Element
Ich mag einige Funktionen machen, die nicht in dem Standard selenium2library sind
1) Wie Treiber erhalten in meinen Funktionen zu benutzen?
2) Wie _element_find Funktion (von Selen2Library/keywords/_element.py) innerhalb der Bibliothek zu verwenden? (Ich habe versucht fast alles zu importieren und noch _element_find bin außer Reichweite)
class page(object):
def __init__(self, driver=None, title=None, url=None):
self._driver = driver
self._title = title
self._url = url
def get_driver(self):
return self._driver
def wait_for_visibility(self, locator, info="no error", timeout=10):
return WebDriverWait(self.get_driver(), timeout).until(
expected_conditions.visibility_of_element_located(locator), info)
def find_element(self, locator):
return self.get_driver().find_element(*locator)
def clear_field(self, locator):
self.find_element(locator).clear()
def send_keys(self, value_to_send, locator, info="field was not visible"):
self.wait_for_visibility(locator, info)
self.find_element(locator).send_keys(value_to_send)
return self
def clear_field_and_send_keys(self, value_to_send, locator, info="field was not visible"):
self.clear_field(locator)
self.send_keys(value_to_send, locator, info)
def send_to_field_random_value_of_length(self, locator, leng, info="field was not visible"):
self.clear_field(locator)
value = rstr.rstr("abcdefghijklmnoprstuwxyz", leng)
self.send_keys(value, locator, info)
def my_click(self, locator, info="click on button error", timeout=5):
element = self.wait_for_visibility(locator, info, timeout)
element.click()
dann würde ich es auf diese Weise zum Beispiel verwenden mag:
Register Proper Data
[Setup] Open Browser ${web-page} browser=${browser}
my click (By.PARTIAL_LINK_TEXT, "Zarejestruj nowe konto")
send to field random value of length (By.ID, "rejestracja_konta_imie") 7
ist es ein richtiger Ansatz?
Jetzt bekomme ich Fehler Attribute: ‚NoneType‘ Objekt hat kein Attribut ‚find_element‘
Gut. Sie haben die Vererbung verwendet. Ich schlage vor, die Klasse umzubenennen. Python-Klassen sollten mit Großbuchstaben beginnen. Ich habe versucht, dies zu bearbeiten, aber "Bearbeitungen müssen mindestens 6 Zeichen lang sein". Was für eine seltsame Anforderung. –