Добрый день прошу помощи. Как мне получить доступ к методу в файле webdriver.py (find_element_by_xpath()) через самописный тест (MATA455.py) вызывая при этом метод в тесте так (
element_1 = self.oHelper.driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[2]/div[1]/div[2]/div/div[1]/div[1]/div[2]/div[2]/div/div[2]/select/option[4]")
) При этом чтобы получить объект по xpath в текущем экземпляре теста не создавая новое окно? После в тесте надо нажать по полученному по XPath элементу
Есть файлы:
webdriver.py
- в нем определен find_element_by_xpath()
base.py
- туда заимпорчен (
import webdriver
) и определен драйвер браузера (
self.driver = webdriver.Firefox(firefox_options=options, executable_path=driver_path, log_path=log_path
))
main.py
- сюда обращается тест и здесь определен WebApp()
from tir.technologies.core.language import LanguagePack
from tir import Webapp
from tir.technologies.core.base import Base
from tir import Apw
from bs4 import BeautifulSoup
from tir.technologies.core import enumerations
import unittest
class MATA440(unittest.TestCase):
@classmethod
def setUpClass(inst):
inst.oHelper = Webapp()
inst.oBase = Base()
#inst.oApw = Apw()
inst.oHelper.Setup('SIGAADV', '06/08/2019', '00', '102030', '01')
inst.oHelper.Program('MATA455')
def test_MATA455_CT001(self):
self.oHelper.ClickLabel("OMS - управление распред-ем (1)")
self.oHelper.ClickLabel("Заказы (1)")
self.oHelper.ClickLabel("Утверждение запаса")
self.oHelper.ClickComboBox (label_comboBox_name = "Нет ограничений", position=1)
#порядковый номер в комбобоксе
#indexCombo = '4
#путь до комбобокса
#parameter index - порядковый номер строки в комбобоксе на экране
element_1 = self.oHelper.driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[2]/div[1]/div[2]/div/div[1]/div[1]/div[2]/div[2]/div/div[2]/select/option[4]")
self.oHelper.click (element = element_1, click_type = enumerations.ClickType.SELENIUM)
self.oHelper.SetButton(button = "OK")
@classmethod
def tearDownClass(inst):
inst.oHelper.TearDown()
if __name__ == '__main__':
unittest.main()