X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/cefcf53e9e34e6b4de0449a6c24fb1872a42258f..a52fc9424444400d4c774b76cf9f59ba43f9dc12:/automationTest/src/test/java/androidtest/tests/LoginTestSuite.java diff --git a/automationTest/src/test/java/androidtest/tests/LoginTestSuite.java b/automationTest/src/test/java/androidtest/tests/LoginTestSuite.java index a4cbda66..6aa6c2bb 100644 --- a/automationTest/src/test/java/androidtest/tests/LoginTestSuite.java +++ b/automationTest/src/test/java/androidtest/tests/LoginTestSuite.java @@ -1,125 +1,106 @@ package androidtest.tests; +import static org.junit.Assert.*; +import io.appium.java_client.android.AndroidDriver; import org.junit.After; import org.junit.Before; +import org.junit.Rule; +import org.junit.experimental.categories.Category; +import org.junit.rules.TestName; import org.junit.runners.MethodSorters; import org.junit.FixMethodOrder; import org.junit.Test; import org.openqa.selenium.ScreenOrientation; - - import androidtest.actions.Actions; +import androidtest.groups.*; import androidtest.models.LoginForm; import androidtest.models.MainView; +import androidtest.models.MenuList; import androidtest.models.SettingsView; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class LoginTestSuite extends CommonTest{ - +public class LoginTestSuite{ + AndroidDriver driver; + Common common; + + @Rule public TestName name = new TestName(); + @Before public void setUp() throws Exception { - setUpCommonDriver(); + common=new Common(); + driver=common.setUpCommonDriver(); } @Test + @Category({NoIgnoreTestCategory.class}) public void test1LoginPortrait () throws Exception { - - System.out.println("Hello" + Config.server); - String testName = "loginPortrait"; driver.rotate(ScreenOrientation.PORTRAIT); - - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); - //TO DO. detect in which view is. it can be files view or settings view - /*if(mainView.getTitleTextElement().equals("ownCloud") || mainView.getTitleTextElement().equals("Settings")){ - if(mainView.getTitleTextElement().getText().equals("ownCloud")){ - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); - }else{ - assertTrue(waitForTextPresent("Settings", mainView.getTitleTextElement())); - } - fail(testName); - }*/ - Actions.deleteAccount(mainView); + + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); } @Test + @Category({NoIgnoreTestCategory.class}) public void test2LoginLandscape () throws Exception { - - String testName = "loginLandscape"; driver.rotate(ScreenOrientation.LANDSCAPE); - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); - //TO DO. detect in which view is. it can be files view or settings view - Actions.deleteAccount(mainView); + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); } @Test + @Category({NoIgnoreTestCategory.class, SmokeTestCategory.class}) public void test3MultiAccountRotate () throws Exception { - - String testName = "MultiAccountRotate"; driver.rotate(ScreenOrientation.LANDSCAPE); - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); driver.rotate(ScreenOrientation.PORTRAIT); - mainView.clickOnMenuButton(); - SettingsView settingsView = mainView.clickOnSettingsButton(); - settingsView.tapOnAddAccount(1, 1000); - mainView = login(Config.URL, Config.user2,Config.password2); + MenuList menu = mainView.clickOnMenuButton(); + SettingsView settingsView = menu.clickOnSettingsButton(); - assertTrue(waitForTextPresent("Settings", mainView.getTitleTextElement())); - //TO DO. detect in which view is. it can be files view or settings view - //Actions.deleteAccount(mainView); - Actions.deleteAccount(settingsView); - //TO DO. Delete the second user + settingsView.tapOnAddAccount(1, 1000); + mainView = Actions.login(Config.URL2, Config.user2,Config.password2, Config.isTrusted2, driver); + common.assertIsInSettingsView(); } @Test + @Category({NoIgnoreTestCategory.class}) public void test4ExistingAccountRotate () throws Exception { - - String testName = "ExistingAccountRotate"; driver.rotate(ScreenOrientation.PORTRAIT); - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); driver.rotate(ScreenOrientation.LANDSCAPE); - mainView.clickOnMenuButton(); - SettingsView settingsView = mainView.clickOnSettingsButton(); + MenuList menu = mainView.clickOnMenuButton(); + SettingsView settingsView = menu.clickOnSettingsButton(); settingsView.tapOnAddAccount(1, 1000); - LoginForm loginForm = new LoginForm(driver); - loginForm.typeHostUrl(Config.URL); - loginForm.clickOnUserName(); - waitForTextPresent("Secure connection established", loginForm.getServerStatusTextElement()); - assertTrue(waitForTextPresent("Secure connection established", loginForm.getServerStatusTextElement())); - loginForm.typeUserName(Config.user); - loginForm.typePassword(Config.password); - mainView = loginForm.clickOnConnectButton(); - assertTrue(waitForTextPresent("An account for the same user and server already exists in the device", loginForm.getAuthStatusText())); - driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK); - Actions.deleteAccount(settingsView); + LoginForm loginForm = new LoginForm(driver); + mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + assertTrue(common.waitForTextPresent("An account for the same user and server already exists in the device", loginForm.getAuthStatusText())); } - + @Test + @Category({NoIgnoreTestCategory.class}) public void test5ChangePasswordWrong () throws Exception { - - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); - mainView.clickOnMenuButton(); - SettingsView settingView = mainView.clickOnSettingsButton(); - settingView.tapOnAccountElement(1, 1000); - LoginForm changePasswordForm = settingView.clickOnChangePasswordElement(); + driver.rotate(ScreenOrientation.PORTRAIT); + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); + MenuList menu = mainView.clickOnMenuButton(); + SettingsView settingsView = menu.clickOnSettingsButton(); + settingsView.tapOnAccountElement(1, 1000); + LoginForm changePasswordForm = settingsView.clickOnChangePasswordElement(); changePasswordForm.typePassword("WrongPassword"); changePasswordForm.clickOnConnectButton(); - assertTrue(waitForTextPresent("Wrong username or password", changePasswordForm.getAuthStatusText())); - driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK); - Actions.deleteAccount(settingView); + assertTrue(common.waitForTextPresent("Wrong username or password", changePasswordForm.getAuthStatusText())); } @After public void tearDown() throws Exception { + common.takeScreenShotOnFailed(name.getMethodName()); driver.removeApp("com.owncloud.android"); driver.quit(); }