diff --git a/actions/AddReviewpageaction.py b/actions/AddReviewpageaction.py index 6d60740..7b23752 100644 --- a/actions/AddReviewpageaction.py +++ b/actions/AddReviewpageaction.py @@ -21,3 +21,12 @@ def enterfeedback(self,feedback): self.send_keys(self.arp.reviewtext,feedback) def clicksubmit(self): self.click(self.arp.writeReview) + def successmsg(self,expectedMessage): + actualMessage = self.get_text(self.arp.successMessage) + print(actualMessage) + assert expectedMessage in actualMessage + def warningmsg(self,expectedMessage): + actualMessage = self.get_text(self.arp.warningMessage) + print(actualMessage) + assert expectedMessage in actualMessage + diff --git a/data_provider/DataProvider.xlsx b/data_provider/DataProvider.xlsx index aacd16b..25f8a3a 100644 Binary files a/data_provider/DataProvider.xlsx and b/data_provider/DataProvider.xlsx differ diff --git a/pages/Addreviewpage.py b/pages/Addreviewpage.py index d4e023f..ef635fd 100644 --- a/pages/Addreviewpage.py +++ b/pages/Addreviewpage.py @@ -11,7 +11,7 @@ def __init__(self,driver): reviewname= (By.CSS_SELECTOR,"input#input-name") reviewtext= (By.XPATH,"//div[@class='form-group required']/child::textarea") writeReview=(By.XPATH , "//button[text()='Write Review']") - successMessage=(By.XPATH,"//h5[@class='content-title mb-3']/following-sibling::div[1]") + successMessage=(By.XPATH,"//div[contains(@class,'alert-success')]") warningMessage =(By.XPATH,"//div[contains(@class,'alert-danger')]") diff --git a/tests/test_addreview.py b/tests/test_addreview.py index fd6ef54..2c515d3 100644 --- a/tests/test_addreview.py +++ b/tests/test_addreview.py @@ -3,9 +3,9 @@ from actions.HomePageAction import HomePageAction from actions.AddReviewpageaction import AddReviewpageaction from utils.excelReader import get_data -from utils.loggerCreator import get_logger +from utils import loggerCreator -logger = get_logger(__name__) +logger = loggerCreator.get_logger(__name__) @pytest.mark.Jothika @@ -25,9 +25,43 @@ def test_validAddreview(self,driver,rating,name,feedback,expectedMessage): url=ConfigReader.get_url() logger.info("Application launch is successful") self.arpa.selectproduct() + logger.info("Selected the product") self.arpa.moveto_review() + logger.info("Found review page") self.arpa.selectrating(rating) + logger.info("Selected Rating") self.arpa.enterName(name) + logger.info("Entered reviewer name") self.arpa.enterfeedback(feedback) + logger.info("Entered feedback") self.arpa.clicksubmit() + logger.info("Submitted review") + self.arpa.successmsg(expectedMessage) + logger.info("Review added successfully") + + @pytest.mark.parametrize( + "rating,expectedMessage", + get_data( + "data_provider/DataProvider.xlsx", + "AddReview-rating", + ), + ) + + def test_withrating(self,driver,rating,expectedMessage): + drv, wait = driver + self.arpa=AddReviewpageaction(drv) + url=ConfigReader.get_url() + logger.info("Application launch is successful") + self.arpa.selectproduct() + logger.info("Selected the product") + self.arpa.moveto_review() + logger.info("Found review page") + self.arpa.selectrating(rating) + logger.info("Selected Rating") + self.arpa.clicksubmit() + logger.info("Submitted review") + self.arpa.warningmsg(expectedMessage) + logger.info("Invalid review submitted successfully") + +