class TestHomePage(BaseClass): def test_home_page(self, get_data): home_page = HomePage(self.driver) name_field = home_page.find_name_field() name_field[0].send_keys(get_data["firstName"]) home_page.find_email_field().send_keys(get_data["email"]) self.select_option_by_text(home_page.get_drop_down(), get_data["gender"]) home_page.click_on_ckeckbox_ice_cream() # driver.find_element_by_css_selector("input[value='Submit']").click() home_page.click_on_submit_button() # REG ex for CSS print(home_page.text_alert_message_css()) # REG ex for Xpath print(home_page.text_alert_message_xpath(), "number 1 ") message = home_page.text_alert_message_class_name() print(message) assert "Success! The Form has been submitted suааааааааааааccessfully!." in message self.driver.refresh() #driver.close() @pytest.fixture(params=HomePageData.get_test_data("Testcase1")) def get_data(self, request): return request.param
class Testhome(BaseClass): def test_home(self, getData): homepage = HomePage(self.driver) # driver.find_element_by_css_selector("input[name='name']").send_keys("Vinod Pawar") homepage.set_name().send_keys(getData["FirstName"]) # driver.find_element_by_css_selector("input[name='email']").send_keys("*****@*****.**") homepage.set_email().send_keys(getData["E-mail"]) # driver.find_element_by_css_selector("#exampleInputPassword1").send_keys("vinodpawar") homepage.set_password().send_keys(getData["LastName"]) # driver.find_element_by_css_selector("#exampleCheck1").click() homepage.set_check_boxes().click() # dropdown = Select(homepage.set_dropdown()) # dropdown.select_by_visible_text("Male") self.selectdropdown(homepage.set_dropdown(), getData["Gender"]) # driver.find_element_by_css_selector("#inlineRadio2").click() homepage.set_password().click() # driver.find_element_by_css_selector("input[name='bday']").send_keys("09091995") homepage.set_DOB().send_keys(getData["DOB"]) # driver.find_element_by_css_selector("input[value='Submit']").click() homepage.set_submit().click() # text = self.driver.find_element_by_css_selector("[class*= 'alert-success']").text text = homepage.get_text().text assert ("Success" in text) self.driver.refresh() @pytest.fixture(params=HomePageData.get_testdata("TestCase1")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_submitForm(self, getData): log = self.getLogger() hp = HomePage(self.driver) self.EnterText(hp.nameTextBox(), getData["firstName"]) log.info("First name successfully entered") self.EnterText(hp.emailTextBox(), getData["lastName"]) log.info("last name successfully entered") self.EnterText(hp.passwordTextBox(), getData["pwd"]) log.info("Password entered successfully") self.clickOn(hp.iceCreamCheckBox()) log.info("Checked box clicked") self.clickOn(hp.employedRadioButton()) log.info("Employed selected") self.selectByVibleText(hp.genderDropDown(), getData["gender"]) log.info("Gender selected") self.EnterText(hp.DOBTextBox(), getData["DOB"]) log.info("Provided Data of birth") self.clickOn(hp.submitButton()) log.info("Submit button Clicked") alertMsg = self.getTextOfElement(hp.alertMsgText()) assert ("Success" in alertMsg) log.info("Successfully validated") @pytest.fixture(params=HomePageData.getTestData("TC_1")) def getData(self, request): return request.param
class TestHomePage(InstantClass): def testformsubmission(self, getData): log = self.getlogger() homepage = HomePage(self.driver) log.info("values5") log.info("the firstname is" + getData["firstname"]) homepage.getName().send_keys(getData["firstname"]) homepage.getEmail().send_keys(getData["lastname"]) homepage.checkBox().click() self.selectoptionbyText(homepage.getdropdown(), getData["Gender"]) homepage.clickSubmit().click() message = homepage.successMessage().text assert "success" in message self.driver.refresh() def testselection(self): print("branching data") def testselection2(self): print("new branching data") def testselection3(self): print("new branch selection 4") def testselection4(self): print("new branch selection 5") @pytest.fixture(params=HomePageData.gettestdata("TestCase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): homepage = HomePage(self.driver) homepage.getName().send_keys(getData["firstName"]) # time.sleep(5) # self.driver.find_element_by_name("name").send_keys("ritesh") homepage.getEmail().send_keys(getData["lastName"]) homepage.getPassword().send_keys("dceeevwgmail.com") homepage.getCheckBox().click() select = Select(homepage.getGender()) select.select_by_visible_text(getData["gender"]) homepage.getStatus().click() homepage.getSubmit().click() time.sleep(5) self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData()) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formsubmission(self, getdata): homepage = HomePage(self.driver) log = self.getlogger() # homepage.get_name().send_keys("Gourav") homepage.get_name().send_keys(getdata["Name"]) log.info("Name is : " + getdata["Name"]) # homepage.get_email().send_keys("xyz.gmail.com") homepage.get_email().send_keys(getdata["Email"]) log.info("Email is : " + getdata["Email"]) # homepage.get_password().send_keys("Password") homepage.get_password().send_keys(getdata["Password"]) log.info("Password is : " + getdata["Password"]) self.select_option(homepage.get_gender(), getdata["Gender"]) log.info("Gender is : " + getdata["Gender"]) homepage.select_typeemployeeorstudent().click() homepage.click_tosubmit().click() alertext = homepage.get_alert().text log.info(alertext) assert "Success" in alertext homepage.get_screenshot() self.driver.refresh() # @pytest.fixture(params=[("Gourav", "*****@*****.**", "pass1", "Male"),("Aman", "*****@*****.**", "pass2", "Female")]) # @pytest.fixture(params=HomePageData.test_home_page_data) @pytest.fixture(params=HomePageData.getTestdata("Testcase2")) def getdata(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmisson(self, getData): log = self.test_getLogger() homePage = HomePage(self.driver) homePage.getName().send_keys(getData["FirstName"]) log.info("First Name is "+getData["FirstName"]) homePage.getEmail().send_keys(getData["Email"]) homePage.getCheckBox().click() sel = Select(homePage.getGender()) sel.select_by_visible_text(getData["gender"]) homePage.Submit().click() message = homePage.getAlertMessage().text # Assert - It always expect condition as true assert 'success' in message # substring in String self.driver.refresh() #Create a ficture which will fetch data from TestData Folder using Fixture and use here @pytest.fixture(params=HomePageData.getTestData("TestCase1")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): homepage = HomePage(self.driver) homepage.getName().send_keys(getData["name"]) #keyname homepage.getEmail().send_keys(getData["email"]) homepage.getPassword().send_keys(getData["pwd"]) homepage.getChkBox().click() self.selectDropdown(homepage.getGender(), getData["gender"]) radioButtons = homepage.getJobStatus() for radioButton in radioButtons: # print(radioButton.text) if radioButton.text == getData["status"]: radioButton.click() homepage.getDob().send_keys(getData["dob"]) homepage.getSubmit().click() msg = homepage.getMsg().text print(msg) assert "The Form has been submitted successfully!." in msg, "test failed" self.driver.get_screenshot_as_file("finalscreen.png") self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClassA): def test_formSubmission(self, getData): log = self.test_getLogger() homepage = HomePage(self.driver) log.info("Entering data for form submission") log.info("Name is" + getData["Firstname"]) homepage.getname().send_keys(getData["Firstname"]) homepage.getEmail().send_keys(getData["Email"]) homepage.getPassword().send_keys("123456") homepage.getCheckMe().click() self.selectOptionbyVisibleText(homepage.getGender(), getData["Gender"]) #======================================================================= # mygender=Select(homepage.getGender()) # mygender.select_by_visible_text("Female") #======================================================================= homepage.getStatus().click() homepage.getDateofBirth().send_keys("12/03/1991") homepage.getSubmit().click() message = homepage.getAlertMsg().text #for substring match assert "Success" in message #assert "Success! The Form has been submitted successfully!." == message self.driver.refresh() #Passing data by tuple & dictionary @pytest.fixture(params=[("Shivangi", "*****@*****.**", "Female"), ("Krishna", "*****@*****.**", "Male")]) @pytest.fixture(params=HomePageData.getTestData("TestCase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getdata): log = self.GetLogger() homepage = HomePage(self.driver) log.info("first name :" + getdata["firstname"]) homepage.GetName().send_keys(getdata["firstname"]) log.info("first name :" + getdata["lastname"]) homepage.GetEmail().send_keys(getdata["lastname"]) homepage.GetChekBox().click() # select package log.info("first name :" + getdata["gender"]) self.SelectOptionByText(homepage.GetGender(), getdata["gender"]) homepage.ClicksubmitButton().click() str1 = homepage.GetSucessText().text str2 = "Success! The Form has been submitted successfully!." assert "Success" in str1 # comparing substring of the success message self.driver.refresh() # @pytest.fixture(params=[("Ramana", "Gangasani", "Male"), ("RamaDevi", "Gangasani", "Female")]) # @pytest.fixture(params=[{"firstname":"Ramana", "lastname":"Gangasani", "gender" : "Male"}, {"firstname":"RamaDevi", "lastname":"Gangasani", "gender" : "Female"}]) # @pytest.fixture(params=HomePageData.test_HomePage_Data) # this is the calling parameters @pytest.fixture(params=HomePageData.getExcelTestData("Testcase2") ) # passing the parameters from excel sheet def getdata(self, request): return request.param
class TestHomePage(BaseClass): # def test_formSubmission(self): # Submissionpage = submissionPage(self.driver) # Submissionpage.getName().send_keys("Anil") # # self.driver.find_element_by_name('name').send_keys('Anil') # Submissionpage.getEmail().send_keys("*****@*****.**") # # self.driver.find_element_by_xpath("//input[@name='email']").send_keys("*****@*****.**") # Submissionpage.getPassword().send_keys("anil5") # # self.driver.find_element_by_css_selector("input[@type='password']").send_keys("anil5") # Submissionpage.getCheckBox().click() # # self.driver.find_element_by_id("exampleCheck1").click() # # sel = Select(Submissionpage.getGender()) # # sel = Select(self.driver.find_element_by_id("exampleFormControlSelect1")) # self.selectGender(Submissionpage.getGender(), "Male") # # sel.select_by_visible_text("Male") # Submissionpage.getSubmit().click() # # self.driver.find_element_by_xpath("//input[contains(@class, 'success')]").click() # message = Submissionpage.getMessage().text # # message = self.driver.find_element_by_css_selector("div[class*='dismiss']").text # print(message) # self.driver.get_screenshot_as_file("photo1.png") # assert "success" in message # # the above code for just passing the keys manually # The below code is for how to call the data by using the Lists, Tuples and dictionaries def test_formSubmission(self, getData): log = self.getLogger() Submissionpage = submissionPage(self.driver) # Submissionpage.getName().send_keys(getData[0]) # Submissionpage.getEmail().send_keys(getData[1]) log.info("First name is " + getData["firstname"]) Submissionpage.getName().send_keys(getData["firstname"]) Submissionpage.getEmail().send_keys(getData["email"]) Submissionpage.getPassword().send_keys("anil5") Submissionpage.getCheckBox().click() # self.selectGender(Submissionpage.getGender(), getData[2]) self.selectGender(Submissionpage.getGender(), getData["gender"]) Submissionpage.getSubmit().click() message = Submissionpage.getMessage().text print(message) self.driver.get_screenshot_as_file("photo1.png") print("Anil") assert "success" in message self.driver.refresh() # with tuples under list # @pytest.fixture(params=[("Anil", "*****@*****.**", "Male"), ("chinni", "*****@*****.**", "Male")]) # with dictionaries under list # @pytest.fixture(params=[{"firstname":"Anil", "email":"*****@*****.**", "gender":"Male"}, {"firstname":"Chinni", "email":"*****@*****.**", "gender":"Female"}]) # @pytest.fixture(params=HomePageData.test_data) @pytest.fixture(params=HomePageData.getTestData("TestCase4")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_HomeForm(self, getFormData): homePage = HomePage(self.driver) log = self.commonLogger() log.debug("Entering first name : " + getFormData['firstname']) homePage.getNameTextbox().send_keys(getFormData['firstname']) log.debug("Entering email address : " + getFormData['email']) homePage.getEmailTextbox().send_keys(getFormData['email']) homePage.getIceCreamCheckbox().click() log.debug("Selecting gender : " + getFormData['gender']) self.selectTextFromDropdown(getFormData['gender'], homePage.getGenderDropdown()) log.debug("Submitting the form") homePage.getSubmit().click() message = homePage.getMessage().text log.debug(message) assert "success" in message self.driver.refresh() @pytest.fixture(params=[HomePageData.getTestDataFromExcel("Person4"), HomePageData.getTestDataFromExcel("Person1")]) def getFormData(self, request): return request.param
class TestHomePage(BaseClass): # @pytest.mark.usefixtures("getData") def test_formSubmission(self, getData): log = self.getLogger() # driver = webdriver.Chrome(executable_path="/Users/ami23772/Downloads/Study/Selenium_with_Python/chromedriver") # driver.get("https://rahulshettyacademy.com/angularpractice/") homepage = HomePage(self.driver) homepage.getName().send_keys(getData["firstname"]) homepage.getEmail().send_keys(getData["email"]) homepage.getPassword().send_keys(getData["password"]) homepage.getCheckout().click() # dropdown = Select(self.driver.find_element_by_id("exampleFormControlSelect1")) """ This is very exhaustive way and not to say hardcoded homepage.getGender().select_by_visible_text("Female") time.sleep(1) homepage.getGender().select_by_visible_text("Male") We can make it more flexible and reusable by making it generic in BaseClass then call the method and pass text """ self.selectOptionByText(homepage.getGender(), getData["gender"]) radio = self.driver.find_elements_by_name("inlineRadioOptions") radio[1].click() # self.selectRadioOption(homepage.getEmploymentStatus(), "Employed") time.sleep(1) homepage.getDOB().send_keys(getData["birthdate"]) log.info("Entered data is: " + getData['firstname'] + " " + getData['email'] + " " + getData['gender'] + " " + getData['birthdate']) time.sleep(1) # from here we assert the page content and then submit the form then we will go to shop # assert driver.execute_script("return document.getElementsByName('name')[0].value") == "A B C" # assert driver.execute_script("return document.getElementsByName('email')[0].value") == "*****@*****.**" # assert driver.execute_script("return document.getElementById('exampleInputPassword1').value") != "" # assert driver.execute_script("return document.getElementById('exampleFormControlSelect1').value") == "Male" # assert radio[1].is_selected() # assert driver.execute_script("return document.getElementsByName('bday')[0].value") == "1999-12-21" homepage.getButton().click() time.sleep(1) log.info("Text after submission is: " + homepage.getMessage().text) assert "Success" in homepage.getMessage().text self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase1", "Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formsubmission(self, getData): driver.find_element_by_name("name").send_keys(getData[0]) dropdown = Select( driver.find_element_by_id("exampleFormControlSelect1")) dropdown.select_by_index(1) dropdown.select_by_visible_text("Male") driver.find_element_by_css_selector("input[value='Submit']").click() message = driver.find_element_by_css_selector( "[class*='alert-success']").text assert "successfdfdf" in message print("New Line") @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homePage = HomePage(self.driver) #log.info("First name is "+getData["firstname"]) homePage.getName().send_keys(getData["firstname"]) homePage.sendEmail().send_keys(getData["lastname"]) homePage.selectHomePageCheckBox().click() self.selectOptionByText(homePage.selectGender(), getData["gender"]) homePage.submitForm().click() alertText = homePage.verifySuccessMessage().text assert "success" in alertText self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homepage = HomePage(self.driver) log.info('First name is'+getData['firstname']) homepage.getName().send_keys(getData['firstname']) homepage.getEmail().send_keys(getData['lastname']) homepage.getCheck().click() self.selectOptionByText(homepage.getGender(),getData['gender']) homepage.getSubmit().click() alertText = homepage.getSuccessMessage().text assert ('Success' in alertText) self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData('Testcase2')) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getlogger() homepage = Homepage(self.driver) log.info("first name is" + (getData["firstname"])) homepage.getName().send_keys(getData["firstname"]) homepage.getEmail().send_keys(getData["email"]) homepage.getcheckBox().click() self.SelectOptionByText(homepage.getGender(), getData["gender"]) homepage.SubmitButton().click() message = homepage.SuccessMessage().text assert ("Success" in message) self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): homepage = HomePage(self.driver) homepage.getNameField().send_keys(getData["firstname"]) homepage.getEmailField().send_keys(getData["email"]) homepage.getCheckMe().click() self.selectOptionByText(homepage.getGender(), getData["gender"]) homepage.getSubmitButton().click() alertText = homepage.displaySuccessMessage() assert "Success" in alertText self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homepage = HomePage(self.driver) log.info("Name is " + getData["name"]) #homePage.getName().send_keys(getData[0]) TUPLE DATA TYPE homepage.getName().send_keys(getData["name"]) #DICTIONARY DATA TYPE #homePage.getEmail().send_keys(getData[1]) TUPLE DATA TYPE log.info("Email is " + getData["email"]) homepage.getEmail().send_keys(getData["email"]) #DICTIONARY DATA TYPE #self.selectOptionByText(homePage.getGender(), getData[2]) TUPLE DATA TYPE log.info("Gender is " + getData["gender"]) self.selectOptionByText(homepage.getGender(), getData["gender"]) #DICTIONARY DATA TYPE # as dropdown code can be used in multiple tests so # make it generic and place the code in base class, the attributes of it are locator and text homepage.submitForm().click() alertText = homepage.getSuccessMessage().text assert "Success!" in alertText self.driver.refresh() # we are using refresh here because the url belongs to class and will execute only # once before the class therefore concatnating the data we are sending so by doing refresh we refresh the browser # this fixture is not common to all test cases therefore we will not write the code in conftest file, # this fixture is only for this page #@pytest.fixture(params= HomePageData.test_HomePage_data # params support both tuple and dictionary data type , above is an example of tuple and we address the data through indexes # where as dictionary datatype is key value pair like hashmaps/hashtables in java #dictionary data type is declared in{} @pytest.fixture(params= HomePageData.getTestData("Testcase2")) #data coming from testdata package def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homepage = HomePage(self.driver) log.info("first_name is " + getData["first_name"]) homepage.getName().send_keys(getData["first_name"]) # driver.find_element_by_css_selector("[name='name']").send_keys("Tito") homepage.getEmail().send_keys(getData["last_name"]) # driver.find_element_by_name("email").send_keys("Novianto") homepage.getCheckBoxBtn().click() # driver.find_element_by_id("exampleCheck1").click() self.selectOptionByText(homepage.getGenderSel(), getData["gender"]) # sel = Select(homepage.getGenderSel()) # sel = Select(driver.find_element_by_id("exampleFormControlSelect1")) # sel.select_by_visible_text("Male") homepage.getSubmitBtn().click() # driver.find_element_by_xpath("//input[@value='Submit]").click() alertText = homepage.getAlertText().text # alertText = driver.find_element_by_css_selector("[class*='alert-success']").text assert ("Success" in alertText) #To solve the below problem, one solution can be as following self.driver.refresh() # Adding a seperated data input below in a list # If the list consist of multiple tuples of data set input # The test will be run as many as the data set input provided # e.g: 2 tuples input data set will be run twice # Rising problem: since it is run in the same browser, the input field will concat # e.g.: TitoRahul and NoviantoShetty #@pytest.fixture(params=HomePageData.test_homePageData) @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmittion(self, getData): log = self.getLogger() homepage = HomePage(self.driver) log.info("First name is" + getData["Fname"]) homepage.getName().send_keys(getData["Fname"]) homepage.getEmail().send_keys(getData["Lname"]) homepage.getCheckbox().click() self.selectOptionByText(homepage.getDropdown(), getData["Gender"]) homepage.submitForm().click() print(homepage.getMessage().text) alertText = homepage.getMessage().text assert ("success" in alertText) self.driver.refresh() #@pytest.fixture(params=HomePageData.test_HomePage_data) @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homePage = HomePage(self.driver) log.info('First name is ' + getData['name']) homePage.type_name(getData['name']) homePage.type_email(getData['email']) homePage.type_password('hello123') homePage.love_ice_cream('yes') homePage.select_gender(getData['gender']) homePage.submitForm() alertText = homePage.get_submit_msg() assert ('Success!' in alertText) self.driver.refresh() # DDT test @pytest.fixture(params=HomePageData.test_homePage_data) def getData(self, request): return request.param def test_formSubmission2(self, getDataFromExcel): log = self.getLogger() homePage = HomePage(self.driver) log.info('First name is ' + getDataFromExcel['firstname']) homePage.type_name(getDataFromExcel['firstname']) homePage.type_email(getDataFromExcel['email']) homePage.type_password('password') homePage.love_ice_cream('yes') homePage.select_gender(getDataFromExcel['gender']) homePage.submitForm() alertText = homePage.get_submit_msg() assert ('Success!' in alertText) self.driver.refresh() # DDT test @pytest.fixture(params=HomePageData.getAllDataAsListOfDict()) def getDataFromExcel(self, request): return request.param
class Testtwo(BaseClass): def test_formSubmission(self, getData): log = self.getloggingDemo() homepage = HomePage(self.driver) log.info("first name is " + getData["firstname"]) homepage.getName().send_keys(getData["firstname"]) homepage.getEmail().send_keys(getData["gender"]) homepage.getClickCheck().click() homepage.getClickCheck().click() self.selectoptionBytext(homepage.getDropdown(), getData["gender"]) homepage.submittForm().click() alertText = homepage.getsuccessmessage().text self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homepage = HomePage(self.driver) homepage.getName().send_keys(getData["firstname"]) log.info("firstname is entered") # driver.find_element_by_name("name").send_keys("Ticvic") time.sleep(5) homepage.getEmail().send_keys(getData["lastname"]) log.info("lastname is entered") #driver.find_element_by_name("email").send_keys("*****@*****.**") time.sleep(3) #driver.find_element_by_id("exampleInputPassword1").send_keys("Password") homepage.getCheckBox().click() #it is reusable and define it in baseclass #sel = Select(homepage.getGender()) #sel.select_by_visible_text("Male") self.selectOptionByText(homepage.getGender(), getData["gender"]) log.critical("gender is selected") homepage.submitForm().click() alertText = homepage.getSuccessMessage().text #for refreshing and passing datas like data provider we use this. self.driver.refresh() assert ("Success" in alertText) #dropdown = Select(driver.find_element_by_id("exampleFormControlSelect1")) #dropdown.select_by_visible_text("Female") #time.sleep(5) #dropdown.select_by_index(0) #time.sleep(5) #driver.find_element_by_xpath("/html/body/app-root/form-comp/div/form/input").click() #time.sleep(3) #message = driver.find_element_by_class_name("alert-success").text #print(message) @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homePage = HomePage(self.driver) log.info("First Name is " + getData["fname"]) homePage.getName().send_keys(getData["fname"]) homePage.getEmail().send_keys(getData["email"]) homePage.clickCheckbox().click() self.selectOptionByText(homePage.dropDown(), getData["gender"]) homePage.submitForm().click() message = homePage.successText().text assert "success" in message self.driver.refresh() print(message) print("Yay all is good maga") print("Yay all is very good maga") @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homepage = HomePage(self.driver) # log.info("Name:"+getData["firstname"]) homepage.getName().send_keys(getData["firstname"]) homepage.getemail().send_keys(getData["email"]) homepage.getPword().send_keys(getData["password"]) homepage.getCheckBox().click() self.selectOptionByText(homepage.getGender(), getData["gender"]) homepage.getCheckBox2().click() # dropdown.select_by_value() homepage.submitForm().click() message = homepage.getSuccessMessage().text assert ("success" in message) self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("TestCase1")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homePage = HomePage(self.driver) log.info("first name is " + getData["firstname"]) homePage.getName().send_keys(getData["firstname"]) homePage.getEmail().send_keys(getData["lastname"]) homePage.getCheckbox().click() # select class provides the methods for handling the options in dropdown # dropdown = Select(homePage.getDropDown()) # dropdown.select_by_visible_text('Female') # dropdown.select_by_index(0) self.selectOptionsByText(homePage.getDropDown(), getData["gender"]) homePage.getSubmitButton().click() message = homePage.getSuccessText().text assert 'success' in message self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase2")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): # driver = webdriver.Chrome(executable_path='C:\\chromedriver.exe') # driver.get('https://rahulshettyacademy.com/angularpractice/') log = self.getLogger() homepage = HomePage(self.driver) # driver.find_element_by_name('name').send_keys('Rahul') # driver.find_element_by_id('exampleCheck1').click() # driver.find_element_by_css_selector('Input[name = "name"]').send_keys('Rahul') # driver.find_element_by_name('email').send_keys('Shetty') # driver.find_element_by_xpath('//input[@type="submit"]').click() log.info('first name is ' + getData['firstname']) homepage.getName().send_keys(getData['firstname']) homepage.getEmail().send_keys(getData['lastname']) homepage.getCheckBox().click() # sel = Select(homepage.getGender()) # sel.select_by_visible_text('Male') self.selectOptionByText(homepage.getGender(), getData['gender']) homepage.submitButton().click() alertText = homepage.getSuccessMSG().text assert ('success' in alertText) self.driver.refresh() # print(driver.find_element_by_class_name('alert-success').text) # dropdown = Select(driver.find_element_by_id('exampleFormControlSelect1')) # dropdown.select_by_visible_text('Female') # dropdown.select_by_visible_text(0) # dropdown.select_by_value('') # message = driver.find_element_by_class_name('alert-success').text # assert 'success' in message @pytest.fixture(params=HomePageData.getTestData('Testcase2')) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formSubmission(self, getData): log = self.getLogger() homepage = HomePage(self.driver) log.info(getData) log.info("entering details into all the fields") homepage.getName().send_keys(getData["firstname"]) homepage.getEmail().send_keys(getData["Email"]) homepage.getPassword().send_keys(getData["password"]) homepage.getCheckbox().click() element = homepage.getGender() self.selectOptionByText(element, getData["gender"]) homepage.getRadioButton().click() homepage.getSuccessButton().click() alertText = homepage.getSuccessMsg().text log.info(alertText) assert "Success" in alertText self.driver.refresh() @pytest.fixture(params=HomePageData.getTestData("Testcase1")) def getData(self, request): return request.param
class TestHomePage(BaseClass): def test_formsubmission(self, getData): homepage = HomePage(self.driver) homepage.getName().send_keys(getData["FirstName"]) homepage.getUserName().send_keys(getData["UserName"]) homepage.getEmail().send_keys(getData["EmailId"]) homepage.getPassword().send_keys(getData["Pwd"]) homepage.getButton().click() self.selectDropDownOption(homepage.getDropDown(), "Female") homepage.getDropDownSelect().click() message = homepage.getAlertText().text assert "success" in message #@pytest.fixture(params=HomePageData.test_HomePage_data) #def getData(self, request): #return request.param @pytest.fixture(params=HomePageData.getTestData("TestCase2")) def getData(self, request): return request.param