class RegisterMultipleCoursesTests(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.rcp = RegisterCoursesPage(self.driver) self.ts = ResultStatus(self.driver) @pytest.mark.run(order=1) @data( ("JavaScript for beginners", "9856 2365 5213 2201", "12 / 20", "562"), ("Rest API Automation With Rest Assured", "6856 2395 5213 2201", "12 / 22", "986")) @unpack def test_invalid_enrollment(self, courseName, ccNum, ccExp, ccCVV): self.rcp.enterCourseName(courseName) self.rcp.selectCourseToEnroll() self.rcp.fullCourseName(courseName) self.rcp.enrollCourse(ccNum, ccExp, ccCVV) result = self.rcp.verifyEnrollFailed() self.ts.markFinal("test_invalid_enrollment", result, "Enrollment failed verification") self.driver.find_element_by_xpath("//*[@id='navbar-inverse-collapse']//a[contains(text(),'ALL COURSES')]")\ .click()
class RegisterCoursesCSVDataTests(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.rcp = RegisterCoursesPage(self.driver) self.ts = ResultStatus(self.driver) self.np = NavigationPage(self.driver) def setUp(self): self.np.navigateToAllCourses() @pytest.mark.run(order=1) @data(*getCSVData( "C:\\Users\\dcthofic07\\workspace_python\\automation_framework_1\\testdata.csv" )) @unpack def test_invalid_enrollment(self, courseName, ccNum, ccExp, ccCVV): self.rcp.enterCourseName(courseName) self.rcp.selectCourseToEnroll() self.rcp.fullCourseName(courseName) self.rcp.enrollCourse(ccNum, ccExp, ccCVV) result = self.rcp.verifyEnrollFailed() self.ts.markFinal("test_invalid_enrollment", result, "Enrollment failed verification")