示例#1
0
class Test_CartItemCount(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)
        self.pdp = PDP_Page(self.driver)

    @pytest.mark.run(order=1)
    def test_cart_ItemCount(self):
        self.hp.search_product("bags")
        self.plp.select_product()
        self.pdp.clickAddToCart()

        cartcount1 = int(self.hp.get_cart_count())
        print("BeforeCount:",cartcount1)

        self.hp.select_category()
        self.plp.select_product()
        self.pdp.clickAddToCart()

        #time.sleep(2)

        cartcount2 = int(self.hp.get_cart_count())
        print("AfterCount:",cartcount2)

        cartcount1=cartcount1+ 1

        assert cartcount2==cartcount1,"Cart count not incrementing"
        print("Cart Count incremented by one")
示例#2
0
class Test_CartChangeQuantity(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)
        self.pdp = PDP_Page(self.driver)
        self.cartpage = CartPage(self.driver)

    @pytest.mark.run(order=1)
    def test_cart_changeqty_priceupdate(self):
        self.hp.search_product("bangles")
        self.plp.select_product()
        self.pdp.clickAddToCart()
        self.hp.click_cart_icon()

        subtotal1 = float(self.cartpage.get_subtotal())
        print("Subtotal price before qty update:", subtotal1)
        cartcount1 = self.hp.get_cart_count()
        print("Cart Count Before:", cartcount1)
        price = self.cartpage.get_prod_price()
        price_of_prod = price[0]

        self.cartpage.change_Quantity("2")
        time.sleep(3)
        subtotal2 = float(self.cartpage.get_subtotal())
        print("SubTotal price After quantity update:", subtotal2)
        cartcount2 = self.hp.get_cart_count()
        print("Cart Count After:", cartcount2)

        assert cartcount2 == str(int(cartcount1) +
                                 1), "cart count not incremented"
        print("Cart count is incremented by one")

        assert subtotal2 == price_of_prod * 2, "Subtotal price not updated"
        print("Subtotal price in cart page is updated")
示例#3
0
class Test_CartRemoveItem(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)
        self.pdp = PDP_Page(self.driver)
        self.cartpage = CartPage(self.driver)

    @pytest.mark.run(order=1)
    def test_cart_removeitem_priceupdate(self):
        self.hp.search_product("bangles")
        self.plp.select_product()
        self.pdp.clickAddToCart()

        self.hp.select_category()
        self.plp.select_product()
        self.pdp.clickAddToCart()

        self.hp.click_cart_icon()
        totalprice_before = self.cartpage.get_subtotal()
        print(totalprice_before)

        remove_price=self.cartpage.get_remove_prod_price()

        self.cartpage.remove_product()
        time.sleep(2)
        totalprice_after = self.cartpage.get_subtotal()
        print(totalprice_after)

        result_price = str(float(totalprice_before) - float(remove_price))

        assert totalprice_after in result_price,"Subtotal price not updated"
        print("Subtotal price is updated after removing the product from the cart")
示例#4
0
def searchProd(request):
    hp = HomePage(request.cls.driver)
    plp = ProductListPage(request.cls.driver)
    prodname = hp.getDataFromJsonFile("ReadProductName.json", "bang")
    hp.search_product(prodname)
    yield
    assert prodname in plp.check_search_box(), "Search not working"
    print("Searchbox validated")
class Test_CartItemCount(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)


    @pytest.mark.run(order=1)
    def test_sort_asc(self):
        self.hp.search_product("laptop")
        sortprices = self.plp.verify_sort_prod_in_asc()
        print("Prices after sort:",sortprices)
示例#6
0
class Test_BrandFilter(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)

    @pytest.mark.run(order=1)
    def test_verify_brand(self):
        self.hp.search_product("power bank")
        brands = self.plp.filter_verify_brand_name()
        print(brands)
        brand_name = self.plp.get_brand_name()
        #print(bname)
        for brand in brands:
            assert brand_name == brand, "Brand does not match"
            print("Brand filter validated")
示例#7
0
class Test_SearchBox(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)

    @pytest.mark.run(order=1)
    def test_verify_searchField(self):
        # prod_name = json.loads(open("ReadProductName.json").read())
        # pname = prod_name["product_name"]
        pname = self.hp.getDataFromJsonFile("ReadProductName.json",
                                            "product_name")
        self.hp.search_product(pname)
        actual_prod_text = self.plp.check_search_box()
        assert pname in actual_prod_text, "Search not working"
        print("Search box passed")
class Test_ReviewFilter(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.hp = HomePage(self.driver)
        self.plp = ProductListPage(self.driver)

    @pytest.mark.run(order=1)
    def test_verify_avg_review_filter(self):
        self.hp.search_product(
            self.hp.getDataFromJsonFile("ReadProductName.json", "Hp"))
        self.plp.filter_by_Customer_Review()
        review_stars = self.plp.get_All_Filtered_Reviews()
        print(review_stars)
        expected_review_stars = [
            '4', '4.1', '4.2', '4.3', '4.4', '4.4', '4.5', '4.6', '4.7', '4.8',
            '4.9', '5'
        ]
        for star in review_stars:
            assert star in expected_review_stars, "Products are not filtered by stars "
            print("Product displayed according to Avg review filtered")