Forum Testowania i AutomatyzacjiKategoria: PytanieDodanie parametru do metody self.setUp() zwraca błąd (Podstawy Automatyzacji Cz2 Lekcja 5 Refaktoryzacja)
Przemek BarańskiPrzemek Barański Personel zapytał 10 miesięcy temu

Pytanie zadane przez Conan O’Connor  24 Kwi 2018:

Siema mistrzowie, mam pytanie do lekcji piątej https://jaktestowac.pl/lesson/pt1-mk2-05-refaktoryzacja-oczyszczanie-kodu/, próbując dokonać refaktoryzacji kodu chciałem również przekazać w metodzie parametr url. W sumie zrobiłem to jak poniżej (zaraz wkleję kod, chwilę wcześniej, intuicyjnie). I teraz czemu metoda run_browser śmiga jak ta lala? A jak podmienię z run_browser() na setUp() w testach to dostaję:

self.setUp()
TypeError: setUp() missing 1 required positional argument: 'url'

Kod:

import unittest
from selenium import webdriver

expected_title = 'Eurobank - Bankowość Internetowa - Logowanie'
expected_title2 = 'Eurobank - Bankowość Internetowa - Lista kont - wiele kont'
expected_title3 = 'Eurobank - Bankowość Internetowa - Pulpit'

class MainTests(unittest.TestCase) :

    # def setUp(self, url):
    #     self.browser = webdriver.Chrome(executable_path=r'driver\chromedriver.exe')
    #     self.browser.maximize_window()
    #     self.browser.get(url)

    def run_browser(self, url):
        self.browser = webdriver.Chrome(executable_path=r'driver\chromedriver.exe')
        self.browser.maximize_window()
        self.browser.get(url)

    def test_demo_login(self):
        MainTests.run_browser(self, url = 'http://demo.eurobank.pl/logowanie_etap_1.html')
        title = self.browser.title
        self.browser.implicitly_wait(20000)
        print(title, ' : ', expected_title)
        assert title == expected_title
        self.browser.close()

    def test_demo_accounts(self):
        MainTests.run_browser(self, url='http://demo.eurobank.pl/konta.html')
        title = self.browser.title;
        print(title)
        assert title == expected_title2
        self.browser.close()

    def test_demo_pulpit(self):
        MainTests.run_browser(self, url='http://demo.eurobank.pl/pulpit.html')
        title = self.browser.title
        print(title)
        assert title == expected_title3
        self.browser.close()