def test_partner(self):
     HomePage(self.driver).visited_page()
     HomePage(self.driver).click_login_page()
     LoginPage(self.driver).login_amazon(self.USER_MAIL, self.USER_PASSWORD)
     HomePage(self.driver).search_keyword(self.SEARCH_TEXT)
     SearchResultPage(self.driver).check_search_result_on_page()
     SearchResultPage(self.driver).go_second_page()
     SearchResultPage(self.driver).select_preferred_product(2)
     ProductPage(self.driver).add_to_wish_list()
     ProductPage(self.driver).open_wish_list_menu()
     WishListPage(self.driver).wish_list_product_confirm()
     WishListPage(self.driver).delete_from_wish_list()
Beispiel #2
0
    def test_no_result_found(self):
        """
        This method is to verify 'no result found page' functionality of Google. It verified that the given search 
        string appears on no result found page
        """
        search_str = "NO_RE$ULT_FOUND_TE$T_$CENARIO"
        home_page = HomePage(self.driver)
        home_page.search_action(search_str)

        search_result_page = SearchResultPage(self.driver)
        actual_search_result = search_result_page.get_no_result_found_txt()
        assert search_str in actual_search_result, "search string {0} should be present on No result found page.".format(
            search_str)
Beispiel #3
0
    def test_google_search_did_you_mean(self):
        """
        This method is to test 'did you mean' functionality of Google. It verifies that the corrected word is suggested
        for search.
        """
        search_str = "fortnight"
        home_page = HomePage(self.driver)
        home_page.search_action(search_str)

        search_result_page = SearchResultPage(self.driver)
        actual_suggested_text = search_result_page.get_suggested_text()
        expected_suggested_text = "fortnite"
        assert actual_suggested_text == expected_suggested_text, \
            "actual suggested text {0} is not same as expected suggested text {1}".format(actual_suggested_text,
                                                                                          expected_suggested_text)
Beispiel #4
0
    def test_google_search(self):
        """
        This method is to test valid google search. It verifies that all the links returned as searched result contain 
        the searched keyword in it
        """
        search_str = "automation"
        home_page = HomePage(self.driver)
        home_page.search_action(search_str)

        search_result_page = SearchResultPage(self.driver)
        search_result_lst = search_result_page.get_all_searched_links()
        for link in search_result_lst:
            assert search_str.lower() in link.lower(
            ), "search string {0} is not present in link {1}".format(
                search_str, link)
Beispiel #5
0
 def __init__(self, driver):
     self.driver = driver
     self.main_page = MainPage(self.driver)
     self.search_result_page = SearchResultPage(self.driver)
     self.amazon_top_menu = TopMenu(self.driver)
     self.sign_in_page = SignIn(self.driver)
     self.shopping_cart_page = ShoppingCart(self.driver)
     self.product_page = ProductPage(self.driver)
Beispiel #6
0
    def setup(self):
        """
        This fixture holds the common setup steps required to Login to the application
        returns: Home page of the application for authenticated users
        """
        self.webdriver = webdriver.Chrome()
        self.base_page = BasePage(self.webdriver)
        self.home_page = HomePage(self.webdriver)
        self.login_page = Login(self.webdriver)
        self.search_result_page = SearchResultPage(self.webdriver)
        self.valid_credentials = conf_reader.get_user_credentials()
        self.landing_page_hotel = LandingPageHotel(self.webdriver)
        self.home_page.open_login_page()
        self.login_page.user_login(self.valid_credentials.email,
                                   self.valid_credentials.password)
        self.webdriver.get("https://www.phptravels.net/m-thhotels")

        yield
        self.webdriver.quit()
Beispiel #7
0
    def app_setup(self):

        self.webdriver = webdriver.Chrome()
        self.home_page = HomePage(self.webdriver)
        self.login_page = Login(self.webdriver)
        self.landing_page_hotel = LandingPageHotel(self.webdriver)
        self.valid_credentials = conf_reader.get_user_credentials()
        self.search_result_page = SearchResultPage(self.webdriver)

        yield
        self.webdriver.quit()
Beispiel #8
0
 def __init__(self, browser):
     self.logger = logging.getLogger("PAGE NAME")
     self.tests_logger = logging.getLogger("TEST NAME")
     self.common = CommonItems(self.logger, browser)
     self.admin = AdminPage(self.logger, browser)
     self.catalogue = CataloguePage(self.logger, browser, self.common)
     self.admin_products = AdminProductsPage(self.logger, browser,
                                             self.admin, self.common)
     self.main = MainPage(self.logger, browser, self.common)
     self.product = ProductPage(self.logger, browser)
     self.search_result = SearchResultPage(self.logger, browser,
                                           self.common)
    def setup(self):
        """Tours
        This fixture holds the common setup steps required to Login to the application
        returns: Home page of the application for authenticated users
        """
        self.webdriver = webdriver.Chrome()
        self.home_page = HomePage(self.webdriver)
        self.login_page = Login(self.webdriver)
        self.search_result_page = SearchResultPage(self.webdriver)
        self.valid_credentials = conf_reader.get_user_credentials()
        self.landing_page_tours = LandingPageTour(self.webdriver)
        self.home_page.open_login_page()
        self.login_page.user_login(self.valid_credentials.email,
                                   self.valid_credentials.password)
        self.landing_page_tours.click_tour_button()

        yield
        self.webdriver.quit()
Beispiel #10
0
from config import Config
from pages.login_page import LoginPage
from pages.main_page import MainPage
from pages.search_result_page import SearchResultPage
import time

driver = Config.driver

driver.get(Config.server)

login_page = LoginPage(driver)
login_page.enter_username(Config.user)
login_page.enter_password(Config.password)
login_page.login()

main_page = MainPage(driver)
main_page.click_not_now_button()
main_page.type_in_search_field("fitness")
main_page.click_result_with_text("#fitness")

search_page = SearchResultPage(driver)
time.sleep(5)
search_page.check_button_text("Follow")

driver.quit()
Beispiel #11
0
from selenium import webdriver
from pages.login_page import LoginPage
from pages.main_page import MainPage
from pages.search_result_page import SearchResultPage

import time

driver = webdriver.Chrome(
    "C:/Users/y.skubak/Desktop/python_course/chromedriver.exe")
driver.implicitly_wait(5)

driver.get("https://www.instagram.com/accounts/login/")

login_page = LoginPage(driver)
login_page.enter_username("pyautomation")
login_page.enter_password("Ab123456789!")
login_page.click_login()

main_page = MainPage(driver)
main_page.click_not_now_button()
main_page.type_in_search_field("#fitness")
main_page.click_result_with_text("#fitness")

search_result_page = SearchResultPage(driver)
time.sleep(3)
#assert "Follow" in search_result_page.get_follow_button_text()
search_result_page.get_button_text()

driver.quit()
Beispiel #12
0
class TestHotel:
    @pytest.fixture(scope='function', autouse=True)
    def setup(self):
        """
        This fixture holds the common setup steps required to Login to the application
        returns: Home page of the application for authenticated users
        """
        self.webdriver = webdriver.Chrome()
        self.base_page = BasePage(self.webdriver)
        self.home_page = HomePage(self.webdriver)
        self.login_page = Login(self.webdriver)
        self.search_result_page = SearchResultPage(self.webdriver)
        self.valid_credentials = conf_reader.get_user_credentials()
        self.landing_page_hotel = LandingPageHotel(self.webdriver)
        self.home_page.open_login_page()
        self.login_page.user_login(self.valid_credentials.email,
                                   self.valid_credentials.password)
        self.webdriver.get("https://www.phptravels.net/m-thhotels")

        yield
        self.webdriver.quit()

    def test_user_can_not_search_with_blank_hotel_or_city_name(
            self, data_trip_with_out_hotel_name):
        """
        Test- 2
        This test ensures the mandatory details of city/hotel name are compulsorily given by users.

        This test will fail , but that indicates that user can perform search with blank hotel name

        """
        self.landing_page_hotel.search_and_select_city(
            data_trip_with_out_hotel_name.hotel_name)
        self.landing_page_hotel.select_checkin_and_checkout_dates(
            data_trip_with_out_hotel_name.check_in_date,
            data_trip_with_out_hotel_name.check_out_date)
        self.landing_page_hotel.click_search_button()

        assert not self.search_result_page.is_loaded(
            self.search_result_page.key_locators)
        """assert here should have been on The Search button is not clickable or 
        that there is an error message.
        but since that demands a different implementation, 
        My assertion is for search result page not loaded"""

    def test_checkout_date_can_not_be_prior_to_checkin_date(
            self, data_check_out_before_check_in_details):
        """
        Test- 3: Assuming that user is entering a Checkout date which is prior to checkin date
        (which is possible as per current implementation) for hotel search ,
        This test will fail to indicate that the input provided is incorrect

        """
        self.landing_page_hotel.search_and_select_city(
            data_check_out_before_check_in_details.hotel_name)
        self.landing_page_hotel.select_checkin_and_checkout_dates(
            data_check_out_before_check_in_details.check_in_date,
            data_check_out_before_check_in_details.check_out_date)

        assert data_check_out_before_check_in_details.check_in_date < data_check_out_before_check_in_details.check_out_date

    def test_number_of_guests_can_not_be_zero_or_less(self,
                                                      data_number_of_guests):
        """
        Test- 4
        The number of guests can not be zero or less and thus negative values should not be allowed
        This test will fail if User gives 0 as input for number of guests

        We are currently giving 0 as input for guests , thus this will fail
        """
        adult_guests = 0
        child_guests = 0
        self.landing_page_hotel.search_and_select_city(
            data_number_of_guests.hotel_name)
        self.landing_page_hotel.select_checkin_and_checkout_dates(
            data_number_of_guests.check_in_date,
            data_number_of_guests.check_out_date)
        self.landing_page_hotel.enter_number_of_guests(adult_guests,
                                                       child_guests)

        assert self.landing_page_hotel.get_number_of_guests() > 0

    def test_number_of_guests_can_not_exceed_five(self, setup,
                                                  data_number_of_guests):
        """
        Test- 5
        The number of guests , if more than 5 would need a bulk booking ,
        this is a scenario which is more near to real life booking by a customer.
        (Wee can define our own upper limit , idea is big numbers as 100000 should not be allowed)
        """
        adult_guests = 10
        child_guests = 0
        self.landing_page_hotel.search_and_select_city(
            data_number_of_guests.hotel_name)
        self.landing_page_hotel.select_checkin_and_checkout_dates(
            data_number_of_guests.check_in_date,
            data_number_of_guests.check_out_date)
        self.landing_page_hotel.enter_number_of_guests(adult_guests,
                                                       child_guests)

        assert self.landing_page_hotel.get_number_of_guests() <= 5

    def test_checkin_date_can_not_be_in_past(self, setup,
                                             data_number_of_guests):
        """
        Test- 6
        There can not be a hotel search for a past date. If a user is trying to make such a booking,
        This should give user an error
        """

        self.landing_page_hotel.search_and_select_city(
            data_number_of_guests.hotel_name)
        self.landing_page_hotel.select_checkin_and_checkout_dates(
            data_number_of_guests.check_in_date,
            data_number_of_guests.check_out_date)
        todays_date = date.today()
        required_format_today = todays_date.strftime("%d/%m/%Y")

        assert required_format_today > data_number_of_guests.check_in_date
        """The assert should be that the search button is not clickable,