class HomePageTest(BaseTest): 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_login(self): """Test Case untuk login""" # Membuuat objek kelas HomePage self.homePage = HomePage(self.driver) # Mengeklik tombol Sign In self.homePage.signin() # Membuat objek kelas AuthenticationPage self.authenticationPage = AuthenticationPage(self.homePage.driver) # Mengisi email, password, dan mngeklik tombol Sign In self.authenticationPage.signin_registered() # Mengambil teks dari elemen header page My Account element = self.authenticationPage.get_text( Locators.MY_ACCOUNT_PAGE_HEADER) # Verifikasi teks header assert TestData.MY_ACCOUNT_PAGE_HEADER == element
class CheckoutTest(BaseTest): def test_checkout_by_bankwire(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Sign in with Account self.authpage.sign_in_success() # Click Website Logo self.homepage.logo() # Checkout Success self.homepage.checkout_success_bankwire() # Assertion status = self.homepage.get_text(Locators.CHECKOUT_STATUS_BANKWIRE) self.assertEqual(TestData.ALERT_CHECKOUT_SUCCESS, status) def test_checkout_by_check(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Sign in with Account self.authpage.sign_in_success() # Click Website Logo self.homepage.logo() # Checkout Success self.homepage.checkout_success_check() # Assertion status = self.homepage.get_text(Locators.CHECKOUT_STATUS_BY_CHECK) self.assertEqual(TestData.ALERT_CHECKOUT_SUCCESS, status)
class LoginTest(BaseTest): 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) def test_login_failed(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) # Panggil fungsi signin dengan email invalid self.authenticationpage.signin_email_invalid() # Assertion failed_email_result = self.homepage.get_text( Locators.INVALID_EMAIL_ALERT) self.assertEqual(failed_email_result, TestData.ALERT_EMAIL_INVALID) def test_login_password_invalid(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) # Panggil fungsi signin dengan password invalid self.authenticationpage.signin_password_invalid() # Assertion failed_password_result = self.homepage.get_text( Locators.INVALID_PASSWORD_ALERT) self.assertEqual(failed_password_result, TestData.ALERT_PASSWORD_INVALID) 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)
class RegisterTest(BaseTest): def test_register_success(self): # Load Homeage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Register Success self.authpage.register_success() time.sleep(3) # Assertion register_info = self.authpage.get_text(Locators.REG_ALERT_SUCCESS) self.assertEqual(TestData.ALERT_REGISTER_SUCCESS, register_info) def test_register_failed(self): # Load Homeage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Register Failed self.authpage.register_failed() time.sleep(3) # Assertion register_info = self.authpage.get_text(Locators.REG_ALERT_FAILED) self.assertEqual(TestData.ALERT_REGISTER_FAILED, register_info) def test_already_registered(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Already Register self.authpage.register_failed_already_registered() time.sleep(3) # Assertion register_info = self.authpage.get_text( Locators.REG_ALERT_ALREADY_REGISTERED) self.assertEqual(TestData.ALERT_ALREADY_REGISTERED, register_info)
class MyAccountTest(BaseTest): def test_reorder(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Sign in with Account self.authpage.sign_in_success() # Load MyAccount Page self.myaccount = MyAccountPage(self.homepage.driver) # Execute Reorder self.myaccount.reorder() # Assertion status = self.homepage.get_text(Locators.CHECKOUT_STATUS_BY_CHECK) self.assertEqual(TestData.ALERT_CHECKOUT_SUCCESS, status) def test_add_new_address(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Sign in with Account self.authpage.sign_in_success() # Load My Account Page self.myaccount = MyAccountPage(self.homepage.driver) # Execute Add New Address self.myaccount.add_new_address() def test_remove_address(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Sign in with Account self.authpage.sign_in_success() # Load My Account Page self.myaccount = MyAccountPage(self.homepage.driver) # Execute Remove Address self.myaccount.remove_address() def test_remove_wishlist(self): # Load Homepage self.homepage = HomePage(self.driver) # Click Sign In Button self.homepage.signin() # Load Auth Page self.authpage = AuthPage(self.homepage.driver) # Sign in with Account self.authpage.sign_in_success() # Click Website Logo self.homepage.logo() # Load My Account Page self.myaccount = MyAccountPage(self.homepage.driver) # Execute Remove Wishlist self.myaccount.remove_wishlist() time.sleep(5)