Beispiel #1
0
class BaseFixture(unittest.TestCase):
    def setUp(self) -> None:
        self.browser = webdriver.Chrome(executable_path=CHROME_DRIVER)
        self.wait = WebDriverWait(self.browser, 3)
        self.login_page = LoginPage(self.browser)
        self.login_page.go_to_page()
        self.user_menu = UserMenu(self.browser)

    def tearDown(self) -> None:

        if self._outcome.errors[1][1] is not None:

            test_name = self._testMethodName
            result_dir = os.path.join(TEST_DIR,'test_results')
            if not os.path.exists(result_dir):
                os.mkdir(result_dir)

            test_dir = os.path.join(result_dir,test_name)
            if not os.path.exists(test_dir):
                os.mkdir(test_dir)
            self.browser.save_screenshot(os.path.join(test_dir, f"{test_name}.png"))

            # file = open('page_source.html', 'w')
            # file.write(self.browser.page_source)
            # file.close()

            with open(os.path.join(test_dir, f"{test_name}.html"), 'w') as file:
                file.write(self.browser.page_source)

        self.browser.quit()  # some more changes
class BaseFixture(unittest.TestCase):
    def setUp(self) -> None:
        # browser session

        if os.environ.get('JOB_NAME'):
            chrome_options = webdriver.ChromeOptions()
            chrome_options.add_argument("--headless")
            chrome_options.add_argument("--disable-gpu")
            browser = webdriver.Chrome(executable_path=CHROME_PATH,
                                       options=chrome_options)
        else:
            browser = webdriver.Chrome(executable_path=CHROME_PATH)

        self.browser = browser
        self.wait = WebDriverWait(self.browser, DEFAULT_WAIT)
        self.long_wait = WebDriverWait(self.browser, LONG_WAIT)
        self.login_page = LoginPage(browser)

        # optional design choice:
        self.user_menu = UserMenu(self.browser)
        self.pim_page = EmployeeInformationPage(self.browser)
        self.add_emp_page = AddEmployeePage(self.browser)

        # browser.get(f'http://{DOMAIN}')
        # OR
        self.login_page.go_to_page()

    def tearDown(self) -> None:
        if self._outcome.errors[1][1]:
            test_results_folder = OUTPUT_DIR
            if not os.path.exists(test_results_folder):
                os.mkdir(test_results_folder)
            test_name = self._testMethodName

            self.browser.save_screenshot(
                f"{test_results_folder}/{test_name}.png")

            file = open(f"{test_results_folder}/{test_name}.html",
                        'w',
                        encoding="utf-8")
            file.write(self.browser.page_source)
            file.close()

            # with open(f"{test_results_folder}/{test_name}.html", 'w', encoding="utf-8") as file:
            #     file.write(self.browser.page_source)

        self.browser.quit()