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_ReviewFilter(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) self.sign_up = SignUpPage(self.driver) self.address = DeliveryAddressPage(self.driver) self.shipment = ShipmentPage(self.driver) self.payment = PaymentMethodPage(self.driver) self.order = PlaceOrderPage(self.driver) @pytest.mark.run(order=1) def test_verify_invalid_couponcode(self): self.hp.mouseOverOnSignIn() self.hp.toClickOnSignIn() self.sign_up.set_username( self.hp.getDataFromJsonFile("UserCredential.json", "username")) self.sign_up.set_password( self.hp.getDataFromJsonFile("UserCredential.json", "password")) self.sign_up.click_signIn() #self.hp.search_product(self.hp.getDataFromJsonFile("ReadProductName.json","b")) self.hp.select_category("Beauty") # self.plp.select_subshopByCategory() self.plp.select_product() self.pdp.clickAddToCart() self.hp.click_cart_icon() self.cartpage.clickProceedToCheckOut() self.sign_up.set_username( self.hp.getDataFromJsonFile("UserCredential.json", "username")) self.sign_up.set_password( self.hp.getDataFromJsonFile("UserCredential.json", "password")) self.sign_up.click_signIn() self.address.clickAddressBtn() self.shipment.clickContinueBtn() self.payment.clickToContinue() self.order.enterCouponCode("GETAPAY10") self.order.applyCouponCode() # msg = self.order.getMessageForInvalidCoupon() # print(msg) assert 'not valid' in self.order.getMessageForInvalidCoupon( ), "Coupon code is valid Test case failed" print("Coupon invalid and it is not accepted,Test passed")
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")