Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
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
Ejemplo n.º 13
0
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_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
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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
Ejemplo n.º 17
0
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
Ejemplo n.º 18
0
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
Ejemplo n.º 19
0
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
Ejemplo n.º 20
0
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
Ejemplo n.º 21
0
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
Ejemplo n.º 22
0
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
Ejemplo n.º 23
0
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
Ejemplo n.º 24
0
class TestHomePage(Base_class):
    def test_formSubmission(self, getData):
        log = self.getLogger()
        homePage = HomePage(self.driver)
        #homePage.getName().send_keys(getData[0])
        log.info("first name is " + getData["firstname"])
        homePage.getName().send_keys(getData["firstname"])
        #driver.find_element_by_css_selector("input[name='name']").send_keys("Suchithra")
        #driver.find_element_by_name("email").send_keys("*****@*****.**")
        homePage.getEmail().send_keys(getData["email"])
        homePage.getPwdCheck().click()
        #driver.find_element_by_id("exampleCheck1").click()

        self.selectOptionByText(homePage.getGender(), getData["gender"])

        homePage.getSubmit().click()
        #driver.find_element_by_xpath("//input[@type='submit']").click()

        # txt = driver.find_element_by_css_selector("[class*='alert-success']").text

        # txt = driver.find_element_by_class_name("alert-success").text
        #txt = driver.find_element_by_xpath("//*[contains(@class,'alert-success')]").text
        txt = homePage.getSuccess().text

        print(txt)

        assert "Success!" in txt
        self.driver.refresh()

    # @pytest.fixture(params=[("Suchi","*****@*****.**","Female"),("sarva","*****@*****.**", "Male")])
    # def getData(self, request):
    #     return request.param

    @pytest.fixture(params=HomePageData.getTestData("testcase2"))
    def getData(self, request):
        return request.param
Ejemplo n.º 25
0
class TestHomePage(BaseClass):
    def test_formSubmission(self, getData):
        print(getData)
        log = self.getLogger()
        homepage = HomePage(self.driver)
        log.info("get firstname is " + getData["Firstname"])
        homepage.getName().send_keys(getData["Firstname"])
        homepage.getMail().send_keys(getData["Mail"])
        homepage.getPassword().send_keys(getData["Password"])
        time.sleep(2)
        self.selectOptionByText(homepage.getGender(), getData["Gender"])
        # dropdown.select_by_visible_text("Female")
        # dropdown.select_by_index(0)
        time.sleep(2)
        homepage.getExample().click()
        homepage.getSubmit().click()
        message = homepage.getSuccess().text
        assert "success" in message
        self.driver.refresh()

    # @pytest.fixture(params=[("ashida", "*****@*****.**", "ashida@123", "Female"), ("aslam", "*****@*****.**", "aslam@123" ,"Male")])
    @pytest.fixture(params=HomePageData.getTestData("Testcase2"))
    def getData(self, request):
        return request.param
Ejemplo n.º 26
0
class TestOne(BaseClass):
    def test_e2e(self, getData, getPassword):

        self.driver.get("https://trello.com/")
        time.sleep(3)
        self.driver.maximize_window()
        time.sleep(3)
        ss = SS(self.driver)
        log = self.getLogger()
        log.info(
            "........................................Test Case Started.............................................."
        )
        #Login in to application
        loginPage = LoginPage(self.driver)
        loginPage.clickLoginButton()
        # Title is verified
        title = loginPage.getTitle()
        log.info("Title of the Application" + title)
        assert title == "Log in to Trello"
        self.isLabelExist("Continue with Google")
        self.isLabelExist("Continue with Microsoft")
        self.isLabelExist("Continue with Apple")
        loginPage.enterEmail(getData["Email"])
        loginPage.clickLoginAtlassian()
        time.sleep(3)
        loginPage.enterPassword(getPassword["password"])
        ss.ScreenShot("login.png")
        loginPage.clickSubmit()
        time.sleep(3)

        #Create a new board
        ss.ScreenShot("dashboard.png")
        dashboard = DashboardPage(self.driver)
        dashboard.page_has_loaded()
        dashboard.clickAddButton()
        time.sleep(3)
        ss.ScreenShot("addBoard.png")
        dashboard.clickCreateBoard()
        time.sleep(3)
        ss.ScreenShot("createBoard.png")
        dashboard.addBoardTitle(getData["BoardName"])
        time.sleep(3)
        dashboard.clickCreateBoard()
        time.sleep(5)
        dashboard.page_has_loaded()

        #Create  Lists
        log.info("4 new lists are created")
        dashboard.enterListName(getData["List1"])
        time.sleep(5)
        dashboard.clickAddListBtn()
        time.sleep(3)
        ss.ScreenShot("addList1.png")
        dashboard.enterListName(getData["List2"])
        time.sleep(3)
        dashboard.clickAddListBtn()
        time.sleep(3)
        ss.ScreenShot("addList2.png")
        dashboard.enterListName(getData["List3"])
        time.sleep(3)
        dashboard.clickAddListBtn()
        time.sleep(3)
        ss.ScreenShot("addList3.png")
        dashboard.enterListName(getData["List4"])
        time.sleep(3)
        dashboard.clickAddListBtn()
        time.sleep(3)
        dashboard.getListNames()
        ss.ScreenShot("addList4.png")

        #Create 4 Cards
        log.info("4 cards are created")
        dashboard.clickAddCard()
        time.sleep(3)
        dashboard.enterCardName(getData["Card1"])
        dashboard.clickAddCardBtn()
        ss.ScreenShot("cardName1.png")
        dashboard.enterCardName(getData["Card2"])
        dashboard.clickAddCardBtn()
        ss.ScreenShot("cardName2.png")
        dashboard.enterCardName(getData["Card3"])
        dashboard.clickAddCardBtn()
        ss.ScreenShot("cardName3.png")
        dashboard.enterCardName(getData["Card4"])
        dashboard.clickAddCardBtn()
        time.sleep(3)
        dashboard.clickCancelButton()
        time.sleep(3)
        ss.ScreenShot("cardName4.png")
        dashboard.getCardNames()

        #Move card 2 to In Progress
        dashboard.rightClickCard(getData["Card2"])
        time.sleep(3)
        dashboard.validateLabels()
        ss.ScreenShot("labels.png")
        time.sleep(3)
        dashboard.clickMoveLabel()
        dashboard.selectListOptionByText(getData["List2"])
        time.sleep(3)
        dashboard.clickMoveButton()
        time.sleep(3)
        dashboard.card2MoveToInProgress()
        ss.ScreenShot("card2Inprogress.png")

        # Move card 3 to QA
        dashboard.rightClickCard(getData["Card3"])
        time.sleep(3)
        dashboard.clickMoveLabel()
        dashboard.selectListOptionByText(getData["List3"])
        time.sleep(3)
        dashboard.clickMoveButton()
        time.sleep(3)
        dashboard.card3MoveToQA()
        ss.ScreenShot("card3QA.png")

        #Move card 2 to QA
        dashboard.rightClickCard(getData["Card2"])
        time.sleep(3)
        dashboard.clickMoveLabel()
        dashboard.selectListOptionByText(getData["List3"])
        time.sleep(3)
        dashboard.clickMoveButton()
        time.sleep(3)
        dashboard.card2MoveToQA()
        ss.ScreenShot("card2QA.png")

        #Move card 1 to Current User
        time.sleep(3)
        dashboard.clickCard1()
        time.sleep(3)
        dashboard.clickMembers()
        time.sleep(3)
        dashboard.clickName()
        time.sleep(3)
        ss.ScreenShot("name.png")
        dashboard.enterComments(getData["Comments"])
        dashboard.clickSaveBtn()
        ss.ScreenShot("comments.png")
        time.sleep(3)
        dashboard.clickCloseBtn()
        ss.ScreenShot("card1User.png")

        loginPage.clickProfile()
        loginPage.clickLogout()
        ss.ScreenShot("logout.png")
        loginPage.clickLogout()
        ss.writeDoc(getData["TestCase"])
        log.info(
            "........................................Test Case Completed.............................................."
        )

    @pytest.fixture(params=HomePageData.getTestData())
    def getData(self, request):
        return request.param

    @pytest.fixture(params=HomePageData.getPassword())
    def getPassword(self, request):
        return request.param
Ejemplo n.º 27
0
        # driver.maximize_window()
        # every element of Homepage should be sent to page object of Homepage
        homepage = HomePage(self.driver)
        # homepage.getName().send_keys("rahul")
        # homepage.getEmail().send_keys("Shetty")
        homepage.getName().send_keys(getData["firstname"])
        homepage.getName().send_keys(getData["lastname"])
        # homepage.getName().send_keys(getData[0])
        # homepage.getName().send_keys(getData[1])
        # now i can able to run this test on multiple sets of data
        homepage.getCheckBox().click()
        # sel = Select(homepage.getGender())
        # sel.select_by_visible_text("Male")
        self.selectOptionByText(homepage.getGender(), getData["gender"])
        homepage.submitForm().click()

        alertText = homepage.getSuccessMessage().text
# if some where testcase fails then automatically screenshot generate in our htmlreports
# by adding  screenshots code in conftest file(define screenshot method where driver is created in conftest file )
        assert ("Success" in alertText)
        self.driver.refresh()  # refreshed or else rahulmonaasu will get..no empty text field we get


# @pytest.fixture(params=[("rahul", "shetty", "male"), ("mona", "lisa", "female"), ("asu", "tosh", "male")])
# @pytest.fixture(params=HomePageData.test_HomePageData)
@pytest.fixture(params=HomePageData.getTestData("TestData2"))
# Testcase2 is on excel file based on that it will filter only TC2 data
def getData(self, request):t
    return request.param
# we didn't write this fixture inside confest
# Bcoz its not common to all test case only required for this