class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = T_estStatus(self.driver)
        self.lg = LoginPage(self.driver)
        self.util = Util()

    @pytest.mark.run(order=1)
    @data(("JavaScript", "EG", "121212"), ("JavaS", "IR", "101010"))
    @unpack
    def test_invalidEnrollment(self, course_name, country_name, postal_code):
        self.lg.login("*****@*****.**", "abcabc")
        self.courses.clickAllCoursesButton()
        self.courses.enterCourseName(courseName=course_name)
        self.courses.clickJavaScriptCourse()
        self.courses.scrollToBottom()
        self.courses.clickEnrollButton()
        self.courses.scrollToBottom()
        self.courses.selectCountryDropDown(countryName=country_name)
        self.courses.enterPostalCode(code=postal_code)
        self.courses.clickSubmitButton()
        self.courses.scrollToTop()
        self.util.sleep(3)
        result1 = self.courses.verifyTextOnPage(
            "Sorry, there was an error completing your purchase -- please try again."
        )
        self.ts.mark(result1, "Text verified")
        self.driver.back()
        self.courses.logOut()
        result2 = self.courses.verifyUserLogOut()
        self.ts.markFinal("test_invalidEnrollment", result2,
                          "logout successful")
        self.util.sleep(2)
Esempio n. 2
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.rc = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        self.nav.navigateToHome()
        self.nav.navigateToAllCourses()

    @pytest.mark.run(order=1)
    @data(*getCSVData(
        "/Users/K1/Documents/python_workspace/AutomationFramework/testdata.csv"
    ))
    @unpack
    def test_invalidEnrollment(self, courseName, courseCount):
        self.rc.enterCourseName(courseName, courseCount)
        time.sleep(1)
        self.rc.selectCourseToEnroll(courseName)
        time.sleep(1)
        self.rc.clickEnrollButton()
        self.rc.clickBuyNowButton()
        time.sleep(1)
        result = self.rc.verifyEnrollmentFailed()
        self.ts.markFinal(testName="test_invalidEnrollment",
                          result=result,
                          resultMessage="verifyEnrollmentFailed")
class RegisterMultipleCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetUp(self, oneTimeSetUp):
        # self.lp = LoginPage(self.driver)
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "41811 5705 8102 5900", "10/21", "665",
           "411018"), ("Learn Python 3 from scratch", "41811 5705 8102 5900",
                       "10/21", "665", "411018"))
    @unpack  # This decorator will unpack all the tuple / list elements into multiple arguments
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV, zip):
        # self.lp.login("*****@*****.**", "abcabc")
        self.courses.clickSearchBox()
        self.courses.enterCourseName(courseName)
        # self.courses.selectCourseToEnroll()
        self.courses.selectCourseToEnroll(courseName)
        self.courses.clickEnrollButton()
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV, zip=zip)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")

        # self.driver.find_element_by_link_text("All Courses").click()
        self.driver.find_element_by_xpath(
            "//a[@class='navbar-brand header-logo']").click()
Esempio n. 4
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.rc = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalidEnrollment(self):
        self.rc.enterCourseName("JavaScript")
        self.rc.selectCourseToEnroll("JavaScript Masterclass")
        self.rc.clickEnrollButton()
        self.rc.clickBuyNowButton()
        result = self.rc.verifyEnrollmentFailed()
        self.ts.markFinal(testName="test_invalidEnrollment",
                          result=result,
                          resultMessage="verifyEnrollmentFailed")
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = Status(self.driver)

    @pytest.mark.run(order=1)
    def testInvalidEnrollment(self):
        self.courses.enterCourseName("JavaScript for")
        self.courses.clickEnrollButton()
        self.courses.enterCreditCardInfo("4280323963876221", "0521", "192",
                                         "00-001")
        self.courses.clickTermsCheckbox()
        self.courses.clickEnrollSubmitButton()
        result1 = self.courses.verifyEnrollFailed()
        self.ts.markFinal("testInvalidEnrollment", result1,
                          "Verify if fake card makes button enabled.")
class ReadFromCSVTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = Status(self.driver)
        self.nav = NavigationPage(self.driver)

    @pytest.mark.run(order=1)
    @data(*getCSVData("/Users/pawel/PycharmProjects/letskodeit/testdata.csv"))
    @unpack
    def testInvalidEnrollment(self, courseName, num, exp, cvv, post):
        self.courses.enterCourseName(courseName)
        self.courses.clickEnrollButton()
        self.courses.enterCreditCardInfo(num, exp, cvv, post)
        self.courses.clickTermsCheckbox()
        self.courses.clickEnrollSubmitButton()
        result1 = self.courses.verifyEnrollFailed()
        self.ts.markFinal("testInvalidEnrollment", result1,
                          "Verify if fake card makes button enabled.")
        self.nav.navigationToIcon()
Esempio n. 7
0
class RegisterMultipleCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.rc = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript Masterclass", "COURSE1"),
          ("Learn Python 3 from scratch", "COURSE2"))
    @unpack
    def test_invalidEnrollment(self, courseName, testing):
        self.rc.enterCourseName(courseName, testing)
        self.rc.selectCourseToEnroll(courseName)
        self.rc.clickEnrollButton()
        self.rc.clickBuyNowButton()
        result = self.rc.verifyEnrollmentFailed()
        self.ts.markFinal(testName="test_invalidEnrollment",
                          result=result,
                          resultMessage="verifyEnrollmentFailed")
        self.rc.goToHomePage()
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetUp(self, oneTimeSetUp):
        self.lp = LoginPage(self.driver)
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    def test_invalidEnrollment(self):
        self.lp.login("*****@*****.**", "abcabc")
        self.courses.clickSearchBox()
        self.courses.enterCourseName("JavaScript")
        # self.courses.selectCourseToEnroll()
        self.courses.selectCourseToEnroll("JavaScript for beginners")
        self.courses.clickEnrollButton()
        self.courses.enrollCourse(num="4181 5705 8102 5900",
                                  exp="10/21",
                                  cvv="665",
                                  zip="411018")
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
class MultipleDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = Status(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "4280323963876221", "0521", "192",
           "00-001"), ("Complete Test Automation Bundle", "4280323963876221",
                       "0622", "111", "00-002"))
    @unpack
    def testInvalidEnrollment(self, courseName, num, exp, cvv, post):
        self.courses.enterCourseName(courseName)
        self.courses.clickEnrollButton()
        self.courses.enterCreditCardInfo(num, exp, cvv, post)
        self.courses.clickTermsCheckbox()
        self.courses.clickEnrollSubmitButton()
        result1 = self.courses.verifyEnrollFailed()
        self.ts.markFinal("testInvalidEnrollment", result1,
                          "Verify if fake card makes button enabled.")
        self.driver.find_element_by_xpath(
            "//a[@class='navbar-brand header-logo']").click()
Esempio n. 10
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = T_estStatus(self.driver)
        self.lg = LoginPage(self.driver)
        self.util = Util()
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        self.nav.navigateToAllCourses()

    @pytest.mark.run(order=1)
    @data(
        *getCSVData(r"C:\Users\Owner\workspace_python\letskodeit\testdata.csv")
    )
    @unpack
    def test_invalidEnrollment(self, course_name, country_name, postal_code):
        #       self.lg.login("*****@*****.**", "abcabc")
        #    self.courses.clickAllCoursesButton()
        self.courses.enterCourseName(courseName=course_name)
        self.courses.clickJavaScriptCourse()
        self.courses.scrollToBottom()
        self.courses.clickEnrollButton()
        self.courses.scrollToBottom()
        self.courses.selectCountryDropDown(countryName=country_name)
        self.courses.enterPostalCode(code=postal_code)
        self.courses.clickSubmitButton()
        self.courses.scrollToTop()
        self.util.sleep(3)
        result1 = self.courses.verifyTextOnPage(
            "Sorry, there was an error completing your purchase -- please try again."
        )
        #    self.ts.mark(result1, "Text verified")
        self.ts.markFinal("test_invalidEnrollment", result1, "Text verified")

        self.driver.back()
class RegisterCoursesCSVDataTests(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def classSetUp(self, oneTimeSetUp):
        # self.lp = LoginPage(self.driver)
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        self.driver.find_element_by_xpath("//a[@class='navbar-brand header-logo']").click()

        # self.driver.get("https://learn.letskodeit.com/courses")

        self.nav.navigateToAllCourses()


    @pytest.mark.run(order=1)
    @data(*getCSVData("D:\\sachin_thakare\\python_programs\\letskodeit\\framework_pom_screenshot\\testdata.csv"))
    @unpack     # This decorator will unpack all the tuple / list elements into multiple arguments
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV, zip):
        # self.lp.login("*****@*****.**", "abcabc")
        self.courses.clickSearchBox()
        self.courses.enterCourseName(courseName)
        # self.courses.selectCourseToEnroll()
        self.courses.selectCourseToEnroll(courseName)
        self.courses.clickEnrollButton()
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV, zip=zip)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result, "Enrollment Failed Verification")

        # self.driver.find_element_by_link_text("All Courses").click()

        # Commenting the below lines, as we are using the same lines under setUp()
        # self.driver.find_element_by_xpath("//a[@class='navbar-brand header-logo']").click()
        # self.driver.get("https://learn.letskodeit.com/courses")