Python 3 Selenium Webdriver, как можно превратить повторяющиеся действия в функцию? - PullRequest
0 голосов
/ 04 марта 2019

У меня есть следующие функции, которые просматривают различные элементы на веб-странице. Это работает, но есть ли лучший способ сделать это, пожалуйста?

    def test_siteinenglish(self):
    self.driver.find_element_by_xpath("//*[@id=\"requestCulture_RequestCulture_UICulture_Name\"]/option[1]").click()
    self.driver.find_element_by_xpath("//*[@id=\"navbar-to-collapse\"]/ul")
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[1]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[2]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[3]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[4]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[5]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[6]/a").click()
    self.driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[2]/ul[2]/li/a").click()

def test_siteinfrench(self):
    self.driver.find_element_by_xpath("//*[@id=\"requestCulture_RequestCulture_UICulture_Name\"]").click()
    self.driver.find_element_by_xpath("//*[@id=\"navbar-to-collapse\"]/ul")
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[1]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[2]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[4]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[5]/a").click()
    self.driver.find_element_by_xpath("/html/body/nav/div/div/ul/li[6]/a").click()
    self.driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[2]/ul[2]/li/a").click()

1 Ответ

0 голосов
/ 04 марта 2019

Вы должны использовать универсальную функцию «щелчка», которой вы можете передать параметр. (В этом случае это будет локатор элементов) Шаблон проектирования объектной модели страницы должен соблюдаться для оптимальной разработки структуры теста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...