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)
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()
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()
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()
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")