def test_add_new_product_without_photo_load(self, browser, wait): """ Проверка добавления продукта БЕЗ загрузки фото""" page = PageContainer(browser) page.tests_logger.info('test_add_new_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.create_new_product_without_photo_load( self.product_name_test, self.product_metatag, self.product_model) assert len( page.common.wait_element_present( wait, page.admin_products.success_alert)) == 1 assert "ERROR" not in str(browser.get_log("browser")) assert DB.get_product_information(self.product_name_test) page.admin_products.delete_product() page.common.accept_alert() page.common.wait_element_present(wait, page.admin_products.success_alert)
def test_delete_product(self, browser, wait): """ Проверка удаления продукта """ page = PageContainer(browser) page.tests_logger.info('test_delete_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) products_quantity = DB.count_products() page.admin_products.delete_product() page.common.accept_alert() page.common.wait_element_present(wait, page.admin_products.success_alert) new_products_quantity = DB.count_products() assert new_products_quantity == products_quantity - 1 assert browser.find_element( *page.admin_products.product_line_name).text == self.product_name assert "ERROR" not in str(browser.get_log("browser"))
def test_find_product_by_name(self, browser, wait): """ Проверка фильтрации списка продуктов по наименованию продукта """ page = PageContainer(browser) page.tests_logger.info('test_find_product_by_name') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) all_products_quantity = len( browser.find_elements(*page.admin_products.product_lines)) page.admin_products.filter_products_by_name(self.product_name) filtered_products_quantity = \ len(page.common.wait_element_present(wait, page.admin_products.product_lines)) assert browser.find_elements(*page.admin_products.product_line_name )[0].text == self.product_name assert filtered_products_quantity != all_products_quantity page.admin_products.clear_filter() assert len(browser.find_elements( *page.admin_products.product_lines)) == all_products_quantity assert "ERROR" not in str(browser.get_log("browser"))
def test_catalogue_page_find_elements(self, browser): """ Проверка наличия элементов на странице каталога""" page = PageContainer(browser) page.tests_logger.info('test_catalogue_page_find_elements') page.catalogue.go_to_catalogue_page() assert browser.find_element(*page.catalogue.menu_left).is_displayed() assert browser.find_element( *page.catalogue.view_result_as_list).is_displayed() assert browser.find_element( *page.catalogue.view_result_as_grid).is_displayed() assert browser.find_element( *page.catalogue.promo_banner).is_displayed() assert browser.find_element( *page.catalogue.product_card_1).is_displayed() assert browser.find_element( *page.catalogue.product_card_price).is_displayed() assert browser.find_element( *page.catalogue.product_card_image).is_displayed() assert browser.find_element( *page.catalogue.product_card_name_link).is_displayed() assert browser.find_element( *page.catalogue.product_card_add_cart).is_displayed() assert browser.find_element( *page.catalogue.product_card_add_wishlist).is_displayed() assert browser.find_element( *page.catalogue.product_card_compare).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
class TestProductPage: """ Тесты для страницы продукта магазина opencart """ page = PageContainer(browser=None) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title("Проверка наличия основных элементов на странице продукта") def test_product_page_find_elements(self, browser): """ Проверка наличия основных элементов на странице продукта""" page = PageContainer(browser) page.tests_logger.info('test_product_page_find_elements') page.product.go_to_product_page() assert browser.find_element(*page.product.product_image).is_displayed() assert browser.find_element(*page.product.description_tab).is_displayed() assert browser.find_element(*page.product.description_content).is_displayed() assert browser.find_element(*page.product.specification_tab).is_displayed() assert browser.find_element(*page.product.product_settings).is_displayed() assert browser.find_element(*page.product.add_cart_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_edit_product_name(self, browser, wait): """ Проверка редактирования наименования продукта """ page = PageContainer(browser) page.tests_logger.info('test_edit_product_name') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_edit() page.admin_products.edit_product_name(self.product_name_test) assert DB.get_product_information(self.product_name_test) page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_edit() page.admin_products.edit_product_name(self.product_name) assert len( page.common.wait_element_present( wait, page.admin_products.product_form)) > 0 assert "ERROR" not in str(browser.get_log("browser"))
def test_admin_products_page_find_elements(self, browser, wait): """ Проверка наличия основных элементов на странице логина администратора""" page = PageContainer(browser) page.tests_logger.info('test_admin_products_page_find_elements') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) assert browser.find_element( *page.admin_products.add_button).is_displayed() assert browser.find_element( *page.admin_products.copy_button).is_displayed() assert browser.find_element( *page.admin_products.delete_button).is_displayed() assert browser.find_element( *page.admin_products.filter_button).is_displayed() assert browser.find_element\ (*page.admin_products.select_all_products_checkbox).is_displayed() assert browser.find_element( *page.admin_products.product_lines).is_displayed() assert browser.find_element( *page.admin_products.select_product_checkbox).is_displayed() assert browser.find_element( *page.admin_products.edit_product_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_login_to_admin_account_right(self, browser): """ Проверка успешного входа в аккаунт администратора""" page = PageContainer(browser) page.tests_logger.info('test_login_to_admin_account_right') page.admin.go_to_admin_login_page() page.admin.login_to_admin() assert browser.find_element(*page.admin.logout_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_opencart_main_page_is_open(self, url, browser): """ Проверка открытия страницы сайта opencart """ page = PageContainer(browser) page.tests_logger.info('test_opencart_main_page_is_open') browser.get(url) homepage_url = browser.current_url assert "opencart" in homepage_url assert "ERROR" not in str(browser.get_log("browser"))
def test_go_to_search_result(self, browser): """ Проверка перехода на страницу результата поиска """ page = PageContainer(browser) page.tests_logger.info('test_go_to_search_result') browser.get(page.common.base_url) page.search_result.go_to_search_result_page() # assert browser.find_element(*page.search_result.search_input).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_login_to_admin_account_wrong(self, browser, wait): """ Проверка НЕуспешного входа в аккаунт администратора (неверный пароль)""" page = PageContainer(browser) page.tests_logger.info('test_login_to_admin_account_wrong') page.admin.go_to_admin_login_page() page.admin.login_to_admin(page.admin.login, self.admin_wrong_pasword) assert len( page.common.wait_element_present(wait, page.admin.alert_danger)) > 0 assert "ERROR" not in str(browser.get_log("browser"))
def test_admin_login_page_find_elements(self, browser): """ Проверка наличия основных элементов на странице логина администратора""" page = PageContainer(browser) page.tests_logger.info('test_admin_login_page_find_elements') page.admin.go_to_admin_login_page() assert browser.find_element(*page.admin.name_input).is_displayed() assert browser.find_element(*page.admin.submit_button).is_displayed() assert browser.find_element( *page.admin.forgotten_password_link).is_displayed() assert browser.find_element(*page.admin.login_panel).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_main_page_find_elements(self, browser): """ Проверка наличия основных элементов на главной странице """ page = PageContainer(browser) page.tests_logger.info('test_main_page_find_elements') page.main.go_to_main_page() assert browser.find_element(*page.main.slider).is_displayed() assert browser.find_element(*page.main.slider_footer).is_displayed() assert browser.find_element(*page.main.featured_card_1).is_displayed() assert browser.find_element(*page.main.featured_card_2).is_displayed() assert browser.find_element(*page.main.featured_card_3).is_displayed() assert browser.find_element(*page.main.featured_card_4).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
class TestSearchResultPage: """ Тесты для страницы результата поиска""" page = PageContainer(browser=None) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title( "Проверка наличия основных элементов на странице результата поиска") def test_search_result_page_find_elements(self, browser): """ Проверка наличия основных элементов на странице результата поиска""" page = PageContainer(browser) page.tests_logger.info('test_search_result_page_find_elements') page.main.go_to_main_page() page.search_result.go_to_search_result_page() assert browser.find_element( *page.search_result.search_input).is_displayed() assert browser.find_element( *page.search_result.category_list).is_displayed() assert browser.find_element( *page.search_result.category_desktops).is_displayed() assert browser.find_element\ (*page.search_result.category_laptops_and_notebooks).is_displayed() assert browser.find_element( *page.search_result.category_components).is_displayed() assert browser.find_element( *page.search_result.category_tablets).is_displayed() assert browser.find_element( *page.search_result.category_software).is_displayed() assert browser.find_element( *page.search_result.category_phones_and_pdas).is_displayed() assert browser.find_element( *page.search_result.category_cameras).is_displayed() assert browser.find_element( *page.search_result.category_mp3_players).is_displayed() assert browser.find_element( *page.search_result.subcategories_checkbox).is_displayed() assert browser.find_element\ (*page.search_result.search_in_product_descriptions_checkbox).is_displayed() assert browser.find_element( *page.search_result.search_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_logout_from_admin_account(self, browser, wait): """ Проверка успешного выхода из аккаунта администратора""" page = PageContainer(browser) page.tests_logger.info('test_logout_from_admin_account') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.wait_element_present(wait, page.admin.logout_button) page.common.close_security_alert() page.admin.logout_from_admin() assert len( page.common.wait_element_present(wait, page.admin.login_panel)) > 0 assert "ERROR" not in str(browser.get_log("browser"))
def test_delete_product_dismiss(self, browser, wait): """ Проверка отмены удаления продукта """ page = PageContainer(browser) page.tests_logger.info('test_delete_product_dismiss') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.delete_product() page.common.dismiss_alert() assert browser.find_element( *page.admin_products.product_line_name).text == self.product_name assert "ERROR" not in str(browser.get_log("browser"))
def test_open_edit_product_form(self, browser, wait): """ Проверка открытия формы редактирования продукта """ page = PageContainer(browser) page.tests_logger.info('test_open_edit_product_form') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_edit() assert len( page.common.wait_element_present( wait, page.admin_products.product_form)) > 0 assert "ERROR" not in str(browser.get_log("browser"))
class TestCommon: """ Тесты магазина opencart """ page = PageContainer(browser=None) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title("Проверка открытия страницы сайта opencart") def test_opencart_main_page_is_open(self, url, browser): """ Проверка открытия страницы сайта opencart """ page = PageContainer(browser) page.tests_logger.info('test_opencart_main_page_is_open') browser.get(url) homepage_url = browser.current_url assert "opencart" in homepage_url assert "ERROR" not in str(browser.get_log("browser"))
def test_product_page_find_elements(self, browser): """ Проверка наличия основных элементов на странице продукта""" page = PageContainer(browser) page.tests_logger.info('test_product_page_find_elements') page.product.go_to_product_page() assert browser.find_element(*page.product.product_image).is_displayed() assert browser.find_element(*page.product.description_tab).is_displayed() assert browser.find_element(*page.product.description_content).is_displayed() assert browser.find_element(*page.product.specification_tab).is_displayed() assert browser.find_element(*page.product.product_settings).is_displayed() assert browser.find_element(*page.product.add_cart_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
class TestCataloguePage: """ Тесты для страницы каталога магазина opencart """ page = PageContainer(browser=None) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка наличия элементов на странице каталога ") def test_catalogue_page_find_elements(self, browser): """ Проверка наличия элементов на странице каталога""" page = PageContainer(browser) page.tests_logger.info('test_catalogue_page_find_elements') page.catalogue.go_to_catalogue_page() assert browser.find_element(*page.catalogue.menu_left).is_displayed() assert browser.find_element( *page.catalogue.view_result_as_list).is_displayed() assert browser.find_element( *page.catalogue.view_result_as_grid).is_displayed() assert browser.find_element( *page.catalogue.promo_banner).is_displayed() assert browser.find_element( *page.catalogue.product_card_1).is_displayed() assert browser.find_element( *page.catalogue.product_card_price).is_displayed() assert browser.find_element( *page.catalogue.product_card_image).is_displayed() assert browser.find_element( *page.catalogue.product_card_name_link).is_displayed() assert browser.find_element( *page.catalogue.product_card_add_cart).is_displayed() assert browser.find_element( *page.catalogue.product_card_add_wishlist).is_displayed() assert browser.find_element( *page.catalogue.product_card_compare).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_save_new_product_without_mandatory_fields(self, browser, wait): """ Проверка - нельзя сохранить новый продукт без имени, тега, модели """ page = PageContainer(browser) page.tests_logger.info( 'test_save_new_product_without_mandatory_fields') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_add() page.admin_products.save_product_form() assert len(browser.find_elements(*page.admin_products.error_text)) == 3 assert len( page.common.wait_element_present( wait, page.admin_products.false_alert)) > 0 assert "ERROR" not in str(browser.get_log("browser"))
def test_search_result_page_find_elements(self, browser): """ Проверка наличия основных элементов на странице результата поиска""" page = PageContainer(browser) page.tests_logger.info('test_search_result_page_find_elements') page.main.go_to_main_page() page.search_result.go_to_search_result_page() assert browser.find_element( *page.search_result.search_input).is_displayed() assert browser.find_element( *page.search_result.category_list).is_displayed() assert browser.find_element( *page.search_result.category_desktops).is_displayed() assert browser.find_element\ (*page.search_result.category_laptops_and_notebooks).is_displayed() assert browser.find_element( *page.search_result.category_components).is_displayed() assert browser.find_element( *page.search_result.category_tablets).is_displayed() assert browser.find_element( *page.search_result.category_software).is_displayed() assert browser.find_element( *page.search_result.category_phones_and_pdas).is_displayed() assert browser.find_element( *page.search_result.category_cameras).is_displayed() assert browser.find_element( *page.search_result.category_mp3_players).is_displayed() assert browser.find_element( *page.search_result.subcategories_checkbox).is_displayed() assert browser.find_element\ (*page.search_result.search_in_product_descriptions_checkbox).is_displayed() assert browser.find_element( *page.search_result.search_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
class TestMainPage: """ Тесты для главной страницы магазина opencart """ page = PageContainer(browser=None) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title("Проверка наличия основных элементов на главной странице") def test_main_page_find_elements(self, browser): """ Проверка наличия основных элементов на главной странице """ page = PageContainer(browser) page.tests_logger.info('test_main_page_find_elements') page.main.go_to_main_page() assert browser.find_element(*page.main.slider).is_displayed() assert browser.find_element(*page.main.slider_footer).is_displayed() assert browser.find_element(*page.main.featured_card_1).is_displayed() assert browser.find_element(*page.main.featured_card_2).is_displayed() assert browser.find_element(*page.main.featured_card_3).is_displayed() assert browser.find_element(*page.main.featured_card_4).is_displayed() assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title("Проверка перехода на страницу результата поиска") def test_go_to_search_result(self, browser): """ Проверка перехода на страницу результата поиска """ page = PageContainer(browser) page.tests_logger.info('test_go_to_search_result') browser.get(page.common.base_url) page.search_result.go_to_search_result_page() # assert browser.find_element(*page.search_result.search_input).is_displayed() assert "ERROR" not in str(browser.get_log("browser"))
def test_copy_product(self, browser, wait): """ Проверка копирования продукта """ page = PageContainer(browser) page.tests_logger.info('test_copy_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.copy_product() page.common.wait_element_present(wait, page.admin_products.success_alert) page.common.wait_element_present(wait, page.admin_products.product_line_name) assert browser.find_element( *page.admin_products.product_line_name).text == self.product_name assert "ERROR" not in str(browser.get_log("browser"))
class TestAdminPage: """ Тесты для страницы администратора магазина opencart """ page = PageContainer(browser=None) admin_wrong_pasword = "blabla" @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title( "Проверка наличия основных элементов на странице логина администратора" ) def test_admin_login_page_find_elements(self, browser): """ Проверка наличия основных элементов на странице логина администратора""" page = PageContainer(browser) page.tests_logger.info('test_admin_login_page_find_elements') page.admin.go_to_admin_login_page() assert browser.find_element(*page.admin.name_input).is_displayed() assert browser.find_element(*page.admin.submit_button).is_displayed() assert browser.find_element( *page.admin.forgotten_password_link).is_displayed() assert browser.find_element(*page.admin.login_panel).is_displayed() assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title("Проверка успешного входа в аккаунт администратора") def test_login_to_admin_account_right(self, browser): """ Проверка успешного входа в аккаунт администратора""" page = PageContainer(browser) page.tests_logger.info('test_login_to_admin_account_right') page.admin.go_to_admin_login_page() page.admin.login_to_admin() assert browser.find_element(*page.admin.logout_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title( "Проверка НЕуспешного входа в аккаунт администратора (неверный пароль)" ) def test_login_to_admin_account_wrong(self, browser, wait): """ Проверка НЕуспешного входа в аккаунт администратора (неверный пароль)""" page = PageContainer(browser) page.tests_logger.info('test_login_to_admin_account_wrong') page.admin.go_to_admin_login_page() page.admin.login_to_admin(page.admin.login, self.admin_wrong_pasword) assert len( page.common.wait_element_present(wait, page.admin.alert_danger)) > 0 assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title("Проверка успешного выхода из аккаунта администратора") def test_logout_from_admin_account(self, browser, wait): """ Проверка успешного выхода из аккаунта администратора""" page = PageContainer(browser) page.tests_logger.info('test_logout_from_admin_account') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.wait_element_present(wait, page.admin.logout_button) page.common.close_security_alert() page.admin.logout_from_admin() assert len( page.common.wait_element_present(wait, page.admin.login_panel)) > 0 assert "ERROR" not in str(browser.get_log("browser"))
class TestAdminProductsPage: """ Тесты для страницы Products администратора магазина opencart """ page = PageContainer(browser=None) product_name = 'HP LP3065' product_name_test = 'A TEST' product_metatag = 'testtag' product_model = 'testmodel' @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title( "Проверка наличия основных элементов на странице логина администратора" ) def test_admin_products_page_find_elements(self, browser, wait): """ Проверка наличия основных элементов на странице логина администратора""" page = PageContainer(browser) page.tests_logger.info('test_admin_products_page_find_elements') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) assert browser.find_element( *page.admin_products.add_button).is_displayed() assert browser.find_element( *page.admin_products.copy_button).is_displayed() assert browser.find_element( *page.admin_products.delete_button).is_displayed() assert browser.find_element( *page.admin_products.filter_button).is_displayed() assert browser.find_element\ (*page.admin_products.select_all_products_checkbox).is_displayed() assert browser.find_element( *page.admin_products.product_lines).is_displayed() assert browser.find_element( *page.admin_products.select_product_checkbox).is_displayed() assert browser.find_element( *page.admin_products.edit_product_button).is_displayed() assert "ERROR" not in str(browser.get_log("browser")) @pytest.mark.skip def test_add_new_product_with_photo_load(self, browser, wait): """ Проверка добавления продукта """ page = PageContainer(browser) page.tests_logger.info('test_add_new_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.create_new_product_with_photo_load\ (page.admin_products.product_photo_file_name, self.product_name, self.product_metatag, self.product_model) assert len( page.common.wait_element_present( wait, page.admin_products.success_alert)) == 1 assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка добавления продукта БЕЗ загрузки фото ") def test_add_new_product_without_photo_load(self, browser, wait): """ Проверка добавления продукта БЕЗ загрузки фото""" page = PageContainer(browser) page.tests_logger.info('test_add_new_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.create_new_product_without_photo_load( self.product_name_test, self.product_metatag, self.product_model) assert len( page.common.wait_element_present( wait, page.admin_products.success_alert)) == 1 assert "ERROR" not in str(browser.get_log("browser")) assert DB.get_product_information(self.product_name_test) page.admin_products.delete_product() page.common.accept_alert() page.common.wait_element_present(wait, page.admin_products.success_alert) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка копирования продукта ") def test_copy_product(self, browser, wait): """ Проверка копирования продукта """ page = PageContainer(browser) page.tests_logger.info('test_copy_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.copy_product() page.common.wait_element_present(wait, page.admin_products.success_alert) page.common.wait_element_present(wait, page.admin_products.product_line_name) assert browser.find_element( *page.admin_products.product_line_name).text == self.product_name assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка отмены удаления продукта ") def test_delete_product_dismiss(self, browser, wait): """ Проверка отмены удаления продукта """ page = PageContainer(browser) page.tests_logger.info('test_delete_product_dismiss') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.delete_product() page.common.dismiss_alert() assert browser.find_element( *page.admin_products.product_line_name).text == self.product_name assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка удаления продукта ") def test_delete_product(self, browser, wait): """ Проверка удаления продукта """ page = PageContainer(browser) page.tests_logger.info('test_delete_product') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) products_quantity = DB.count_products() page.admin_products.delete_product() page.common.accept_alert() page.common.wait_element_present(wait, page.admin_products.success_alert) new_products_quantity = DB.count_products() assert new_products_quantity == products_quantity - 1 assert browser.find_element( *page.admin_products.product_line_name).text == self.product_name assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка открытия формы добавления нового продукта ") def test_open_add_new_product_form(self, browser, wait): """ Проверка открытия формы добавления нового продукта """ page = PageContainer(browser) page.tests_logger.info('test_open_add_new_product_form') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_add() assert len( page.common.wait_element_present( wait, page.admin_products.product_form)) > 0 assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка открытия формы редактирования продукта ") def test_open_edit_product_form(self, browser, wait): """ Проверка открытия формы редактирования продукта """ page = PageContainer(browser) page.tests_logger.info('test_open_edit_product_form') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_edit() assert len( page.common.wait_element_present( wait, page.admin_products.product_form)) > 0 assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title(" Проверка редактирования наименования продукта ") def test_edit_product_name(self, browser, wait): """ Проверка редактирования наименования продукта """ page = PageContainer(browser) page.tests_logger.info('test_edit_product_name') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_edit() page.admin_products.edit_product_name(self.product_name_test) assert DB.get_product_information(self.product_name_test) page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_edit() page.admin_products.edit_product_name(self.product_name) assert len( page.common.wait_element_present( wait, page.admin_products.product_form)) > 0 assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title( " Проверка фильтрации списка продуктов по наименованию продукта ") def test_find_product_by_name(self, browser, wait): """ Проверка фильтрации списка продуктов по наименованию продукта """ page = PageContainer(browser) page.tests_logger.info('test_find_product_by_name') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) all_products_quantity = len( browser.find_elements(*page.admin_products.product_lines)) page.admin_products.filter_products_by_name(self.product_name) filtered_products_quantity = \ len(page.common.wait_element_present(wait, page.admin_products.product_lines)) assert browser.find_elements(*page.admin_products.product_line_name )[0].text == self.product_name assert filtered_products_quantity != all_products_quantity page.admin_products.clear_filter() assert len(browser.find_elements( *page.admin_products.product_lines)) == all_products_quantity assert "ERROR" not in str(browser.get_log("browser")) @allure.testcase(page.common.test_case_url + 'test_case_id', 'Наименование тест-кейса') @allure.title( " Проверка - нельзя сохранить новый продукт без имени, тега, модели ") def test_save_new_product_without_mandatory_fields(self, browser, wait): """ Проверка - нельзя сохранить новый продукт без имени, тега, модели """ page = PageContainer(browser) page.tests_logger.info( 'test_save_new_product_without_mandatory_fields') page.admin.go_to_admin_login_page() page.admin.login_to_admin() page.common.close_security_alert() page.admin_products.go_to_products_page(wait) page.admin_products.open_product_form_for_add() page.admin_products.save_product_form() assert len(browser.find_elements(*page.admin_products.error_text)) == 3 assert len( page.common.wait_element_present( wait, page.admin_products.false_alert)) > 0 assert "ERROR" not in str(browser.get_log("browser"))