Ich versuche, einen Parameter zwischen zwei verschiedenen Python-Dateien zu verwenden. Ich habe die locators.py
, wo ich den Locator definiert haben:Verwenden eines Parameters in zwei verschiedenen Python-Dateien
locators.py
from selenium.webdriver.common.by import By
class MainPageLocatars(object):
ELEMENT = (By.XPATH, "//label[text() = '%s']"%(i))
In dieser Datei, ich habe die i
definiert.
main.py
import locators
from locators import *
from locators import MainPageLocatars
def __selectCheckbox(self, checkbox, locater):
if checkbox == "All":
if self.driver.find_element_by_id(locater).is_selected() == False:
self.execute_script_click(MainPageLocatars.CHECKBOX)
else:
if self.driver.find_element_by_id(locater).is_selected() == False:
self.execute_script_click(MainPageLocatars.CHECKBOX)
self.execute_script_click(MainPageLocatars.CHECKBOX)
elif self.driver.find_element_by_id(locater).is_selected() == True:
self.execute_script_click(MainPageLocatars.CHECKBOX)
for i in checkbox:
# only this element is not defined in locators.py
self.execute_script_click(*MainPageLocatars.ELEMENT)
Wenn ich diesen Code ausführen, bekomme ich einen Fehler, sagt i
nicht definiert. Ich importiere die Locators aber nicht sicher, warum es nicht funktioniert.
Das Problem, das ich hier habe, ist, dass in der main.py I verwende Variable i in der Schleife. Dann verwende ich in der locatars.py das "i" und wenn ich den Test ausführe, heißt es, dass ich nicht definiert habe – user7242550
@ user7242550 Haben Sie versucht, die Datei 'locators.py' so einzurichten, wie ich sie gezeigt habe? –
Ja, aber es funktioniert nicht, weil param1 in meinem Fall kein einfacher Text ist. Es ist ein definierter Locater in meinem main.py – user7242550