2016-12-08 2 views
0

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.

Antwort

0

Sie brauchen den Wert nicht innerhalb einer Klasse zu haben. Sie können nur eine Datei wie folgt aussehen:

MainPageLocatars.py

param1 = "locator1" 
param2 = "locator2" 
. . . 

Und dann in Ihrem main.py:

from MainPageLocatars import * 

print param1 
+0

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

+0

@ user7242550 Haben Sie versucht, die Datei 'locators.py' so einzurichten, wie ich sie gezeigt habe? –

+0

Ja, aber es funktioniert nicht, weil param1 in meinem Fall kein einfacher Text ist. Es ist ein definierter Locater in meinem main.py – user7242550

Verwandte Themen