コード例 #1
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TrackStatus(self.driver)
        self.nav = NavigationPage(self.driver)

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

    @pytest.mark.run(order=1)
    # * is to unpack if tuples, lists etc are used in data
    # getCSVData was mentioned in import statement above so @data recognizes it
    # Use full path + filename
    @data(*getCSVData(
        "C:\\Users\\Eugene\\PycharmProjects\\AutomationFramework\\testdata.csv"
    ))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        time.sleep(1)
        self.courses.selectCourseToEnroll(courseName)
        time.sleep(1)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        time.sleep(1)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        # ALTERNATE WAY TO GO BACK USING JS:py.
        # self.driver.execute_script("window.history.go(-1)")
        self.driver.back()
コード例 #2
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

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

    @pytest.mark.run(order=1)
    @data(*getCSVData(
        "/Users/marten.westman/PycharmProjects/webdriver_framework/testdata.csv"
    ))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV,
                               ccPostal):
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum,
                                  exp=ccExp,
                                  cvv=ccCVV,
                                  zip=ccPostal)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
コード例 #3
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    """
    

    To run html reports verify pytest-html is installed. If is not installed, from the terminal type : pip3 install pytest-html

    """
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver, self.cfg)
        self.ts = TstStatus(self.driver)
        self.nav = NavigationPage(self.driver, self.cfg)

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

    @pytest.mark.run(order=1)
    @data(*getCSVData("testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV, ccZip):
        self.courses.enterCourseName(courseName)
        time.sleep(1)
        self.courses.selectCourseToEnroll(courseName)
        time.sleep(1)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV, zip=ccZip)
        time.sleep(1)
        result = self.courses.verifyEnrollFailed()
        self.driver.back()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
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()
コード例 #5
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        #self.driver.find_element_by_link_text("All Courses").click()
        self.nav.navigateToAllCourses()

    @pytest.mark.run(order=1)
    @data(*getCSVData(
        "/Users/atomar/Documents/workspace_python/letskodeit/testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        time.sleep(1)
        self.courses.selectCourseToEnroll(courseName)
        time.sleep(1)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        time.sleep(1)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
コード例 #6
0
class RegisterCoursesTests(unittest.TestCase):

    BASEDIR = os.path.dirname(
        os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    TESTDATA_FILE_PATH = os.path.join(BASEDIR, 'test_data.csv')

    @pytest.fixture(autouse=True)
    def objectSetUp(self, oneTimeSetUp):
        if self.driver is None:
            assert False
        self.rcp = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.np = NavigationPage(self.driver)

    def setUp(self):
        self.rcp.webScroll("up")
        self.np.navigateToHome()

    @pytest.mark.run(order=1)
    @data(*getCSVData(TESTDATA_FILE_PATH))
    @unpack
    def test_enrollForCourse(self, courseName, cc_num, cc_exp, cc_cvv, country,
                             postal_code):
        self.rcp.selectCategoryAndAuthor("All", "All")
        self.rcp.enterCourseName(courseName)
        self.rcp.clickOnCourseName(courseName)
        self.rcp.enrollCourse(cc_num=cc_num,
                              cc_exp=cc_exp,
                              cc_cvv=cc_cvv,
                              country=country,
                              postal=postal_code)
        self.ts.markFinal("enrollForCourse", "Pass",
                          "Successfully enrolled for course")
class RegisterMultipleCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        """
        Class object(s) setup
        """
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "5346800025085346", "2323", "101",
           "111111"), ("Learn Python 3 from scratch", "5346800025085346",
                       "2323", "201", "111111"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV,
                               postcode):
        """
        Tests for invalid enrollment by passing multiple wrong payment details
        Uses TestStatus class to mark/assert test case results
        """
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum,
                                  exp=ccExp,
                                  cvv=ccCVV,
                                  postcode=postcode)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        self.driver.get("https://learn.letskodeit.com/")
コード例 #8
0
class RegisterCoursesTests(unittest.TestCase):
    """
    py.test -v -s tests/courses/register_courses_tests.py --browser firefox
    py.test -v -s tests/courses/register_courses_tests.py --html=htmlreport.html

    Verify pytest is installed installed
    pip3 install pytest

    Make sure Install pytest-ordering and pytest in system terminal using the pip3 command.
    pip3 install pytest-ordering

    If pytest-html is not installed, from the terminal type : pip3 install pytest-html

    """
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver, self.cfg,
                                           self.bitConfig)
        self.ts = TstStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalidEnrollment(self):
        self.courses.enterCourseName("JavaScript")
        self.courses.selectCourseToEnroll("JavaScript for beginners")
        self.courses.enrollCourse(num="1234 5678 9012 3456",
                                  exp="1220",
                                  cvv="444",
                                  zip="12345")
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
コード例 #9
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        time.sleep(3)
        self.nav.navigateToAllCourses()

    @pytest.mark.run(order=1)
    @data(*getCSVData("D:\\workspace\\AutomationFramework\\testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        self.courses.clickOnSearchButton()
        res = self.courses.selectCourseToEnroll(courseName)
        self.ts.mark(res, "Search Course Verification")
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        # result = self.courses.verifyEnrollFailed()
        time.sleep(3)
        self.courses.clickOnIcon()
        self.ts.markFinal("test_invalidEnrollment", res,
                          "Enrollment Failed Verification")
コード例 #10
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = ExecutionStatus(self.driver)
        self.nav = NavigationPage(self.driver)

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

    @pytest.mark.run(order=1)
    @data(*getCSVData(
        "C:\\Users\\semc0\\Desktop\\letskodeit_200607\\testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        time.sleep(1)
        self.courses.selectCourseToEnroll(courseName)
        time.sleep(1)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        time.sleep(1)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
コード例 #11
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = Status(self.driver)
        self.nav = NavigationPage(self.driver)

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

    @pytest.mark.run(order=1)
    #@data(("JavaScript for beginners","4143202652384595","1220","101"),("Learn Python 3 from scratch","41426543764387900","1221","303"))
    #you can provide with only with the file name without the path since it is saved under the project
    @data(
        *getCSVData("/Users/nhussein/PycharmProjects/Letskodeit/testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCvv):
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCvv)
        time.sleep(5)
        #result = self.courses.verifyCardDecline()
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
コード例 #12
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

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

    @pytest.mark.run(order=1)
    @data(*getCSVData("testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV, country):
        self.courses.login()
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum,
                                  exp=ccExp,
                                  cvv=ccCVV,
                                  country=country)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        self.courses.logout()
コード例 #13
0
class RegisterMultipleCoursesTestsJSON(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        """
        Class object(s) setup
        """
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @file_data('registercoursesdata.json')
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV,
                               postcode):
        """
        Tests for invalid enrollment by passing multiple wrong payment details
        Uses TestStatus class to mark/assert test case results
        """
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum,
                                  exp=ccExp,
                                  cvv=ccCVV,
                                  postcode=postcode)
        # result = self.courses.verifyEnrollFailed()
        result = True
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        self.driver.get("https://learn.letskodeit.com/")
コード例 #14
0
class RegisterCoursesCSVDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

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

    @pytest.mark.run(order=1)
    @data(*getCSVData(
        "C:\\Users\\navs0817\\PycharmProjects\\test_py\\tests\\courses\\data.csv"
    ))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        time.sleep(1)
        self.courses.selectCourseToEnroll(courseName)
        time.sleep(1)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        time.sleep(1)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
コード例 #15
0
class RegisterCoursesJSONDataTests(unittest.TestCase):
    log = cl.customLogger(logging.DEBUG)

    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(*getJSONData(r"C:\Users\Siddhant Bhatt\PycharmProjects\AutomationFramework\tests\courses\registercoursesdata.json"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV, postcode):
        """
        Tests for invalid enrollment by passing multiple wrong payment details using a csv file
        Uses TestStatus class to mark/assert test case results
        """
        self.log.info("*#" * 20)
        self.log.info("test_invalidEnrollment started")
        self.log.info("*#" * 20)
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV, postcode=postcode)
        # result = self.courses.verifyEnrollFailed()
        result = True
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        self.driver.get("https://learn.letskodeit.com/")
コード例 #16
0
class RegisterCoursesTests(unittest.TestCase):
    log = cl.customLogger(logging.DEBUG)

    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        """
        Class object(s) setup
        """
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=3)
    def test_invalidEnrollment(self):
        """
        Tests for invalid enrollment by passing wrong payment details
        Uses TestStatus class to mark/assert test case results
        """
        self.log.info("*#" * 20)
        self.log.info("test_invalidEnrollment started")
        self.log.info("*#" * 20)
        self.courses.enterCourseName("JavaScript")
        self.courses.selectCourseToEnroll("JavaScript for beginners")
        self.courses.enrollCourse(num="5346800025085346",
                                  exp="2323",
                                  cvv="111",
                                  postcode="111111")
        # result = self.courses.verifyEnrollFailed() Bypassing error due to website change
        result = True
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Invalid Enrollment Verification")
コード例 #17
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self):
        self.rcp = RegisterCoursesPage(self.driver)
        self.ts = ResultStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalid_enrollment(self):
        self.rcp.enterCourseName("Javascript")
        self.rcp.enrollCourse("9856 2365 5213 2201", "12 / 20", "562")
        result = self.rcp.verifyEnrollFailed()
        self.ts.markFinal("test_invalid_enrollment", result,
                          "Enrollment failed verification")
コード例 #18
0
class RegisterCoursesTests(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def objectSetUp(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.cs = CheckStatus(self.driver)

    def test_invalidEnrollment(self):
        self.courses.enterCourseName("JavaScript")
        self.courses.selectCourseToEnroll('JavaScript for beginners')
        self.courses.enrollCourse('1111 2222 3333 4444', '1122', '123')
        result1 = self.courses.verifyPurchaseBtn()
        self.cs.markFinal("test_invalidEnrollment", result1, 'Checking Purchase Button')
コード例 #19
0
class RegisterCoursesTest(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, ModulesetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalidEnroll(self):
        self.courses.enrollCourse(coursename="Learn Python 3 from scratch",
                                  num="1231 2311 1131 1114",
                                  exp="1224",
                                  cvc="111")
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnroll", result, "Enroll verification")
コード例 #20
0
class RegisterCoursesTests(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalidEnrollment(self):
        self.courses.enterCourseName("JavaScript")
        self.courses.selectCourseToEnroll("JavaScript for beginners")
        self.courses.enrollCourse(num="1234 5678 9012 3456", exp="1220", cvv="444", zip="12345")
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result, "Enrollment Failed Verification")
コード例 #21
0
class RegisterCoursesTest(unittest.TestCase):

    @pytest.fixture(autouse=True)
    def classSetup(self, ModulesetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("Learn Python 3 from scratch","1231 2311 1131 1114","1224","111"),("JavaScript for beginners","1231 2311 1131 1114","1224","111"))
    @unpack
    def test_invalidEnroll(self, courseName, ccNum, ccExp, ccCVC):
        self.courses.enrollCourse(coursename=courseName, num=ccNum,exp=ccExp,cvc=ccCVC)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnroll",result,"Enroll verification")
        self.driver.find_element_by_xpath("//a[contains(text(),'ALL COURSES')]").click()
コード例 #22
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalidEnrollment(self):
        self.courses.enterCourseName("JavaScript")
        self.courses.selectCourseToEnroll("JavaScript for beginners")
        self.courses.enrollCourse(num="1234 5678 9012 3456",
                                  exp="1220",
                                  cvv="444",
                                  zip="12345")
        time.sleep(30)
コード例 #23
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.clickAllCourses()
        self.rc.searchCourse("javascript")
        self.rc.openCourseDetail("JavaScript for beginners")
        self.rc.enrollCourse("5545345785475874", "0123", "343")
        result = self.rc.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Invalid Enrollment Failed")
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners","191","1220", "10"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num = ccNum, exp = ccExp, cvv = ccCVV)
        result = self.courses.verifyEnrollFailed()
        self.ts.mark(result, "enrollment verification failed due to wrong card no")
        self.webScroll(direction="up")
        self.driver.find_element_by_link_text("ALL COURSES").click()
コード例 #25
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetUp(self, oneTimeSetUp):
        if self.driver is None:
            assert False
        self.rcp = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_enrollForCourse(self):
        self.rcp.selectCategoryAndAuthor("All", "All")
        self.rcp.enterCourseName("JavaScript for beginners")
        self.rcp.clickOnCourseName("JavaScript for beginners")
        self.rcp.enrollCourse("1234567891237896", "0123", "198", "Algeria",
                              "122001")
        self.ts.markFinal("enrollForCourse", "Pass",
                          "Successfully enrolled for course")
コード例 #26
0
class RegisterMultipleCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "10", "1220", "10"),
          ("Learn Python 3 from scratch", "20", "1220", "20"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        self.driver.find_element_by_link_text("All Courses").click()
コード例 #27
0
class RegisterTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "5105105105105100", "12/25", "123"),
          ("Learn Python 3 from scratch", "5105105105105100", "12/25", "123"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.selectCourseToEnroll(courseName=courseName)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        failureMessage = "Your card was declined. Your request was in live mode, but used a known test card."
        result = self.courses.verifyEnrollFail(failureMessage)
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment failed due to invalid CC number")
        self.courses.clickAllCourses()
コード例 #28
0
class RegisterMultipleCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(*getCSVData("testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV):
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV)
        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.get("https://learn.letskodeit.com/courses")
        self.courses.searchAnotherCourse()
コード例 #29
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invallid_enrollment(self):
        self.courses.enterCourseName("JavaScript for beginners")
        self.courses.selectCourseToEnroll("JavaScript for beginners")
        self.courses.enrollCourse(num="4485 5854 8176 7883",
                                  exp="1222",
                                  cvv="123",
                                  postalCode="79002")
        self.courses.acceptTermsAndConditions()
        self.courses.clickEnrollSubmitButton()
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal(self._testMethodName, result,
                          "Enrollment Failed verification ")
コード例 #30
0
class RegisterMultipleCoursesTests(unittest.TestCase):

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

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "4111111111111", "1222", "123", "12345"), ("Learn Python 3 from scratch", "41111111111111", "1222", "456", "12345"))
    @unpack
    def test_invalidEnrollment(self, courseName, ccNum, ccExp, ccCVV, ccPostal):
        self.courses.enterCourseName(courseName)
        self.courses.selectCourseToEnroll(courseName)
        self.courses.enrollCourse(num=ccNum, exp=ccExp, cvv=ccCVV, zip=ccPostal)
        result = self.courses.verifyEnrollFailed()
        self.ts.markFinal("test_invalidEnrollment", result,
                          "Enrollment Failed Verification")
        self.nav.navigateToHome()