def test_001_create_application_submit_uploaded_document(self):
        #Instantiate an object of LoginPage class and login using provided credential
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        #Instantiate an object of HomePage class and go to Create Application page
        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.create_application()

        #Instantiate an object of CreateApplicationPage class and start to upload documents
        self.createApplicationPage = CreateEditApplicationPage(
            self.homePage.driver)

        # Upload required documents and assert a checkmark when the upload process is finished
        self.createApplicationPage.upload_document()
        for locator in checkmark_icon_locators:
            self.assertTrue(self.createApplicationPage.is_visible(locator))

        #Submit the application
        self.createApplicationPage.submit_application()

        #Instantiate an object of HomePage class and assert a toaster appear
        self.homePage = HomePage(self.createApplicationPage.driver)
        self.assertTrue(self.homePage.is_enabled(
            Locators.NOTIFICATION_TOASTER))
    def test_004_verify_application(self):
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.create_application()
        self.createApplicationPage = CreateEditApplicationPage(self.homePage.driver)

        # Upload required documents and check a checkmark when the upload process is finished
        self.createApplicationPage.upload(Locators.UPLOAD_NRIC_BUTTON, TestData.NRIC_PATH)
        self.createApplicationPage.is_visible_long(Locators.NRIC_SUCCESS_ICON)

        #Submit the application
        self.createApplicationPage.submit_application()

        #Instantiate an object of HomePage class and check a toaster appear
        self.homePage = HomePage(self.createApplicationPage.driver)
        self.homePage.is_enabled(Locators.NOTIFICATION_TOASTER)
        self.homePage.is_clickable(Locators.CLAIM_APPLICATION_ROW_2)

        #Go to Claim Officer role and sort the claim list by the latest entries
        self.homePage.claim_officer_role()
        self.homePage.sort_by_latest()
        self.homePage.is_clickable(Locators.CLAIM_APPLICATION_ROW_1)

        # Go to the latest application details, instantiate an object of
        # ApplicationPage class and verify the application then assert
        # it has been verified
        self.applicationDetailPage = ApplicationDetailPage(self.homePage.driver)
        self.applicationDetailPage.verify_application()
        self.applicationDetailPage.is_clickable(Locators.CLAIM_APPLICATION_ROW_2)

        self.homePage = HomePage(self.applicationDetailPage.driver)
        self.homePage.sort_by_latest()
        self.assertTrue(self.homePage.assert_element_text(Locators.CLAIM_APPLICATION_ROW_1_STATUS, TestData.STATUS_VERIFIED))
Exemple #3
0
 def test_user_should_be_able_to_delete_item_from_cart(self):
     self.homePage = HomePage(self.driver)
     self.homePage.search()
     self.searchResultsPage = SearchResultsPage(self.homePage.driver)
     self.searchResultsPage.click_search_result()
     self.searchResultsPage.driver.switch_to.window(
         self.searchResultsPage.driver.window_handles[0])
     self.productDetailsPage = ProductDetailsPage(
         self.searchResultsPage.driver)
     self.productDetailsPage.click_add_to_cart_button()
     self.subCartPage = SubCartPage(self.productDetailsPage.driver)
     # click on the Cart's hyperlink to load the cart page
     self.subCartPage.click_cart_link()
     # instantiate an object of Cart Page class
     self.cartPage = CartPage(self.subCartPage.driver)
     # find the cart count before deleting an item from the cart
     cartCountBeforeDeletion = int(
         self.driver.find_element(*Locators.CART_COUNT).text)
     print(cartCountBeforeDeletion)
     # delete an item from cart
     self.cartPage.delete_item()
     # to assert the item was deleted successfully
     self.assertTrue(
         int(self.driver.find_element(
             *Locators.CART_COUNT).text) < cartCountBeforeDeletion)
Exemple #4
0
 def test_user_must_signin_to_checkout(self):
     self.homePage = HomePage(self.driver)
     self.homePage.search()
     self.searchResultsPage = SearchResultsPage(self.homePage.driver)
     self.searchResultsPage.click_search_result()
     self.searchResultsPage.driver.switch_to.window(
         self.searchResultsPage.driver.window_handles[0])
     self.productDetailsPage = ProductDetailsPage(
         self.searchResultsPage.driver)
     self.productDetailsPage.click_add_to_cart_button()
     self.subCartPage = SubCartPage(self.productDetailsPage.driver)
     self.subCartPage.click_cart_link()
     # instantiate an object of Cart Page class
     self.cartPage = CartPage(self.subCartPage.driver)
     # click on Proceed to Checkout button
     self.cartPage.click_proceed_to_checkout_button()
     # instantiate an object of SignIn Page class
     self.signInPage = SignInPage(self.cartPage.driver)
     # to assert we are in indeed on Sign In Page, first we assert the title of the page
     self.assertTrue(TestData.SIGN_IN_PAGE_TITLE,
                     self.signInPage.driver.title)
     # and then we assert for presence of email textbox on the page
     self.assertTrue(
         self.signInPage.is_visible(
             Locators.USER_EMAIL_OR_MOBIL_NO_TEXTBOX))
 def login_home(self, sa):
     self.homepage = HomePage(sa)
     self.sa = sa
     self.login.close()
     self.homepage.show()
     self.homepage.upload_design_success.connect(self.upload_design)
     self.homepage.go_error_page.connect(self.show_error_page)
     self.homepage.go_update_cname_page.connect(self.show_update_cname_page)
Exemple #6
0
    def setUp(self):
        '''该函数主要完成每个测试用例的初始换工作'''

        url = "http://192.168.1.101:10020"

        self.driver = CreateDriver.getBrowserDriver()
        time.sleep(1)
        self.page = LoginPage.LoginPage(self.driver, url)
        self.homePage = HomePage.HomePage(self.driver)
    def test_add_from_search(self):
        # Load Home Page
        self.homepage = HomePage(self.driver)

        # Add from Search
        self.homepage.add_from_search()

        # Assertion
        status = self.homepage.get_text(Locators.SEARCH_PRODUCT_STATUS)
        self.assertEqual(status, TestData.ALERT_ADD_FROM_SEARCH)
    def test_add_from_details(self):
        # Load Home Page
        self.homepage = HomePage(self.driver)

        # Add from details
        self.homepage.add_from_details()

        # Assertion
        status = self.homepage.get_text(Locators.DETAIL_PRODUCT_STATUS)
        self.assertEqual(status, TestData.ALERT_ADD_FROM_DETAILS)
    def test_002b_login_then_logout(self):
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        self.homePage = HomePage(self.loginPage.driver)
        self.assertTrue(self.homePage.is_clickable(Locators.CLAIM_APPLICATION_ROW_2))
        self.homePage.logout()

        #Asserting redirection to Login page with Login button is visible
        self.assertTrue(self.homePage.is_visible(Locators.LOGIN_PAGE_TITLE))
    def test_001_addition(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Input angka ke kedua field lalu pilih operasi penjumlahan
        self.homepage.calculation(TestData.DECIMAL_1, TestData.DECIMAL_2, TestData.ADDITION_OP)

        # Ambil teks result
        result = self.homepage.get_text(Locators.RESULT)

        self.assertEqual("3", result)
    def test_003_multiplication_dynamic(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Input angka ke kedua field lalu pilih operasi perkalian
        hasil = self.homepage.calculation_dynamic_integer(TestData.MULTIPLICATION_OP)

        # Ambil teks result
        result = self.homepage.get_text(Locators.RESULT)

        self.assertEqual(str(hasil), result)
    def test_launch(self):
        """Test Case untuk launch URL"""

        # Membuat objek kelas HomePage
        self.homePage = HomePage(self.driver)

        # Mengambil page title dari HomePage
        title = self.homePage.get_title()

        # Verifikasi title page
        assert TestData.WEB_TITLE in title
    def test_add_from_home(self):

        # Load Home Page
        self.homepage = HomePage(self.driver)

        # Add to Cart (From Home)
        self.homepage.add_from_home()

        # Assertion
        status = self.homepage.get_text(Locators.ADD_FROM_HOME_STATUS)
        self.assertEqual(status, TestData.ALERT_ADD_FROM_HOME)
    def test_002_substraction(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Input angka ke kedua field lalu pilih operasi pengurangan
        self.homepage.calculation(TestData.DECIMAL_1, TestData.DECIMAL_2, TestData.SUBSTRACTION_OP)

        # Ambil teks result
        result = self.homepage.get_text(Locators.RESULT)

        self.assertEqual("1.8", result)
    def test_003_multiplication(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Input angka ke kedua field lalu pilih operasi perkalian
        self.homepage.calculation(TestData.DECIMAL_1, TestData.DECIMAL_2, TestData.MULTIPLICATION_OP)

        # Ambil teks result
        result = self.homepage.get_text(Locators.RESULT)

        self.assertEqual("1.44", result)
    def test_002_substraction_dynamic(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Input angka ke kedua field lalu pilih operasi pengurangan
        hasil = self.homepage.calculation_dynamic_integer(TestData.SUBSTRACTION_OP)

        # Ambil teks result
        result = self.homepage.get_text(Locators.RESULT)

        self.assertEqual(str(hasil), result)
    def test_002_click_pending_application(self):
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.claim_officer_role()
        self.assertTrue(self.homePage.is_clickable(Locators.CLAIM_APPLICATION_ROW_2))

        #Click application with 'Pending Approval' status and assert redirection to Application Detail page
        self.homePage.verify_application()
        self.assertTrue(self.homePage.is_visible(Locators.VERIFY_APPLICATION_BUTTON))
    def test_004_division(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Input angka ke kedua field lalu pilih operasi pembagian
        self.homepage.calculation(TestData.DECIMAL_1, TestData.DECIMAL_2, TestData.DIVISION_OP)

        # Ambil teks result
        result = self.homepage.get_text(Locators.RESULT)

        self.assertEqual("4", result)
    def test_002a_first_time_login_then_logout(self):

        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        # Asserting that claim application list is not present
        self.homePage = HomePage(self.loginPage.driver)
        self.assertFalse(self.homePage.is_clickable(Locators.CLAIM_APPLICATION_ROW_2))
        self.homePage.logout()

        #Asserting redirection to Login page with Login button is visible
        self.assertTrue(self.homePage.is_visible(Locators.LOGIN_PAGE_TITLE))
Exemple #20
0
 def test_2_user_should_be_able_to_search(self):
     self.homePage = HomePage(self.driver)
     # search for the search term on Home Page.
     # The search term would be picked from TestData.py file
     self.homePage.search()
     # instantiate an object of SearchResultsPage class passing in the driver as parameter.
     # this will allow the newly created object to have access to the browser and perform
     # webdriver operations.
     self.searchResultsPage = SearchResultsPage(self.homePage.driver)
     # assert that the search term indeed return some results.
     self.assertNotIn(TestData.NO_RESULTS_TEXT,
                      self.searchResultsPage.driver.page_source)
    def test_add_from_category(self):

        # Load Home Page
        self.homepage = HomePage(self.driver)

        # Click Category
        self.homepage.category()

        # Add to Cart (From Category)
        self.homepage.add_from_category()

        # Assertion
        status = self.homepage.get_text(Locators.CATEGORY_ADD_TO_CART_STATUS)
        self.assertEqual(status, TestData.ALERT_ADD_FROM_CATEGORY)
    def test_001_login_with_claim_officer_role(self):
        #Instantiate an object of LoginPage class and login using provided credential
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        #Instantiate an object of HomePage class and go to Claim Officer role
        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.claim_officer_role()

        # Assert Claim Applications table is visible and the applications with Pending Approval status
        # are clickable
        self.assertTrue(self.homePage.is_clickable(Locators.CLAIM_APPLICATION_ROW_2_APPLICANT_NAME))
        #Assert Create New Application is not visible
        self.assertFalse(self.homePage.is_visible(Locators.CREATE_NEW_APPLICATION))
Exemple #23
0
 def test_user_should_be_able_to_search(self):
     self.homePage = HomePage(self.driver)
     # search for the search term on Home Page. The search term would be picked from
     # test data file
     self.homePage.search()
     # instantiate an object of SearchResultsPage class passing in the driver as parameter.
     # this will allow the newly created object to have access to the browser and perform
     # operations further.
     self.searchResultsPage = SearchResultsPage(self.homePage.driver)
     # assert if the search term is present in the title of the Amazon's Search Results Page
     self.assertIn(TestData.SEARCH_TERM,
                   self.searchResultsPage.driver.title)
     # assert that the search term indeed return some results.
     self.assertNotIn(TestData.NO_RESULTS_TEXT,
                      self.searchResultsPage.driver.page_source)
    def test_006_edit_application_view_document(self):
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()

        # Instantiate an object of HomePage class and go to Edit Application page of the first application
        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.edit_application()

        #Instantiate an object of CreateEditApplicationPage class and remove all the documents
        self.editApplicationPage = CreateEditApplicationPage(self.homePage.driver)

        # View uploaded documents and assert the checkmarks when all the view process is finished
        self.editApplicationPage.view_document()
        for locator in checkmark_icon_locators:
            self.assertTrue(self.editApplicationPage.is_visible(locator))
Exemple #25
0
    def test_send_message_to_cs(self):
        # Membuat objek homepage
        self.homepage = HomePage(self.driver)

        # Klik tombol contact us
        self.homepage.contactus()

        # Membuat objek contact page
        self.contactpage = ContactPage(self.homepage.driver)

        # Kirim pesan ke CS
        self.contactpage.send_message_to_cs()

        # Assertion
        success_text = self.contactpage.get_text(Locators.CONTACT_ALERT)
        self.assertEqual(success_text, TestData.CONTACT_SUCCESS_ALERT)
Exemple #26
0
    def test_both_field_empty(self):
        # Membuat objek homepage
        self.homepage = HomePage(self.driver)

        # Klik tombol sign in
        self.homepage.signin()

        # Membuat objek authentication page
        self.authenticationpage = AuthenticationPage(self.homepage.driver)

        self.homepage.click(Locators.SIGN_IN_SUBMIT)

        # Assertion
        empty_field_result = self.homepage.get_text(
            Locators.EMAIL_REQUIRED_ALERT)
        self.assertEqual(empty_field_result, TestData.ALERT_EMAIL_REQUIRED)
    def test_003_create_application_view_uploaded_document(self):
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()
        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.create_application()
        self.createApplicationPage = CreateEditApplicationPage(self.homePage.driver)

        # Upload required documents and assert a checkmark when the upload process is finished
        self.createApplicationPage.upload_document()
        for locator in checkmark_icon_locators:
            self.assertTrue(self.createApplicationPage.is_visible(locator))

        # View uploaded documents and assert the checkmarks when all the view process is finished
        self.createApplicationPage.view_document()
        for locator in checkmark_icon_locators:
            self.assertTrue(self.createApplicationPage.is_visible(locator))
    def test_002_create_application_remove_uploaded_document(self):
        self.loginPage = LoginPage(self.driver)
        self.loginPage.login()
        self.homePage = HomePage(self.loginPage.driver)
        self.homePage.create_application()
        self.createApplicationPage = CreateEditApplicationPage(self.homePage.driver)

        # Upload required documents and assert a checkmark when the upload process is finished
        self.createApplicationPage.upload_document()
        for locator in checkmark_icon_locators:
            self.assertTrue(self.createApplicationPage.is_visible(locator))

        #Remove the uploaded documents & assert the checkmark disappear from its respective document
        self.createApplicationPage.remove_document()
        for locator in checkmark_icon_locators:
            self.assertFalse(self.createApplicationPage.is_visible(locator))
    def test_001_input_empty(self):
        # Membuat objek HomePage
        self.homepage = HomePage(self.driver)

        # Select Operator *
        self.homepage.select_operator(TestData.ADDITION_OP)

        # Input 2nd number
        self.homepage.enter_text(Locators.INPUT_2, TestData.INTEGER_2)

        # CLick equal sign
        self.homepage.click(Locators.EQUAL_BUTTON)

        actual_text = self.homepage.get_text(Locators.RESULT)

        self.assertEqual("Error: Input value cannot be empty!", actual_text)
Exemple #30
0
    def test_login_success(self):
        # Membuat objek Home Page
        self.homepage = HomePage(self.driver)

        # Klik tombol sign in
        self.homepage.signin()

        # Membuat objek Authentiaction Page
        self.authenticationpage = AuthenticationPage(self.homepage.driver)

        # Isi email dan password dan klik tombol Sign In
        self.authenticationpage.signin_success()

        # Assertion
        header = self.authenticationpage.get_text(
            Locators.MY_ACCOUNT_PAGE_HEADER)
        self.assertEqual("MY ACCOUNT", header)