2017-07-24 1 views
0

Ich versuche, diese MethodePython Robot Framework Pass Argumente an eine Funktion

def my_click(self, locator, info="click on button error", timeout=5): 
    element = self.wait_for_visibility(locator, info, timeout) 
    element.click() 

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) 

innerhalb Roboter Rahmen

Register Proper Data 
    [Setup] Open Browser ${web-page} browser=${browser} 
    my click (By.PARTIAL_LINK_TEXT, "register") 

aber kehrt das Programm-Datei zu verwenden:

TypeError: find_element() takes at most 3 arguments (35 given) - which is the number of letters in the argument

Warum ist es Ereignis? Wie übergebe ich Argumente an ein Keyword?

Antwort

2

Warum mein Klick Argument ist in Klammern? Es sollte ohne Klammern und Komma sein. Etwas wie:

my click By.PARTIAL_LINK_TEXT register 

Bitte stellen Sie sicher, dass es 3-4 Leerzeichen zwischen der Funktion und den Variablen und jeder Variablen gibt.

+0

immer noch der gleiche Fehler, ich habe diese Funktion mit Python + Selen verwendet und es funktionierte so, vielleicht sollte etwas anderes hinzugefügt werden, damit es das ganze Argument erkennen? –

+0

Jędrek, bitte überprüfen Sie die Antwort von A.Kootstra aktualisiert. Versuchen Sie auch, Ihr Keyword aus RIDE aufzurufen. Es wird falsche Anzahl von Leerzeichen/Tabs beseitigen. –

Verwandte Themen