/** * method to Navigate folder * * @param drone * @param List of Folders */ public static RepositoryPage navigateFoldersInRepositoryPage( WebDrone drone, String... folderPath) { boolean selected = false; if (folderPath == null || folderPath.length < 1) { throw new IllegalArgumentException("Invalid Folder path!!"); } RepositoryPage repoPage = ShareUser.getSharePage(drone).render(); try { for (String folder : folderPath) { repoPage.selectFolder(folder).render(); selected = true; logger.info("Folder \"" + folder + "\" selected"); } if (!selected) { throw new ShareException("Cannot select the folder metioned in the path"); } } catch (Exception e) { throw new ShareException("Cannot select the folder metioned in the path"); } return ShareUser.getSharePage(drone).render(); }
/** * This method provides the user to login into create google docs with given filename through * google authorization. And Saves the document return to the document library page. User should * be already logged * * @param drone WebDrone * @param fileName String * @param contentType ContentType * @return DocumentLibraryPage * @throws Exception */ public static DocumentLibraryPage createAndSavegoogleDocBySignIn( WebDrone drone, String fileName, ContentType contentType) throws Exception { DocumentLibraryPage docLibPage; String docTitle = ""; EditInGoogleDocsPage googleDocsPage = createGoogleDocWithoutSave(drone, fileName, contentType); if (isGoogleDocsV3) { switch (contentType) { case GOOGLEDOCS: docTitle = "Untitled Document.docx"; break; case GOOGLESPREADSHEET: docTitle = "Untitled Document.xlsx"; break; case GOOGLEPRESENTATION: docTitle = "Untitled Document.pptx"; break; } closeAndSwitchToShare(drone).render(); Thread.sleep(10000); docLibPage = ShareUser.getSharePage(drone).render(); docLibPage.render(); try { docLibPage.getFileDirectoryInfo(docTitle).selectCheckInGoogleDoc(); } catch (TimeoutException e) { throw new PageOperationException("Check-in didn't finish within the timeout"); } } else { docLibPage = googleDocsPage.selectSaveToAlfresco().render(); } return docLibPage.render(); }
/** * This method provides the user to login into edit google docs page through google authorization. * * @param drone WebDrone * @return EditInGoogleDocsPage */ public static EditInGoogleDocsPage signIntoResumeEditGoogleDocFromDetailsPage(WebDrone drone) throws InterruptedException { DocumentDetailsPage detailsPage = ShareUser.getSharePage(drone).render(); detailsPage.render(); GoogleDocsAuthorisation googleAuthorisationPage = detailsPage.resumeEditInGoogleDocs().render(); return signInGoogleDocs(drone, googleAuthorisationPage); }
/** * Discarding the changes made in google doc. * * @param drone WebDrone * @return SharePage */ public static HtmlPage discardGoogleDocsChanges(WebDrone drone) { EditInGoogleDocsPage googleDocsPage = ShareUser.getSharePage(drone).render(); if (isGoogleDocsV3) { String docTitle = googleDocsPage.getDocumentTitle(); closeAndSwitchToShare(drone); HtmlPage currentPage = FactorySharePage.resolvePage(drone); if (currentPage instanceof DocumentLibraryPage) { ((DocumentLibraryPage) currentPage) .getFileDirectoryInfo(docTitle) .selectCancelEditingInGoogleDocs() .render(); } else if (currentPage instanceof DocumentDetailsPage) { ((DocumentDetailsPage) currentPage).clickCancelEditingInGoogleDocs().render(); } HtmlPage thePage = FactorySharePage.resolvePage(drone).render(); if (thePage instanceof SharePopup) { ((SharePopup) thePage).clickYes(); drone.waitUntilElementDeletedFromDom( By.cssSelector("span[class='message']"), SECONDS.convert(maxWaitTime, MILLISECONDS)); } } else { GoogleDocsDiscardChanges googleDocsDiscardChanges = googleDocsPage.selectDiscard().render(); return googleDocsDiscardChanges.clickOkButton().render(); } return FactorySharePage.resolvePage(drone).render(); }
/** * Open Repository Page: Default View * * @param driver WebDrone Instance * @return RepositoryPage */ public static RepositoryPage openRepository(WebDrone driver) { SharePage page = ShareUser.getSharePage(driver); RepositoryPage repositorypage = page.getNav().selectRepository().render(); logger.info("Opened RepositoryPage"); return repositorypage; }
/** * Saving the google doc with the minor version and if isCreate boolean value is true for saving * the new google doc otherwise existing google doc. Methods used for edition by concurrent user's * * @param drone WebDrone * @param isCreateDoc boolean * @return SharePage */ public static SharePage saveGoogleDocOtherEditor(WebDrone drone, boolean isCreateDoc) { EditInGoogleDocsPage googleDocsPage = ShareUser.getSharePage(drone).render(); googleDocsPage.setGoogleCreate(isCreateDoc); GoogleDocsUpdateFilePage googleUpdatefile = googleDocsPage.selectSaveToAlfresco().render(); googleUpdatefile.render(); googleUpdatefile.selectMinorVersionChange(); return googleUpdatefile.submitWithConcurrentEditors().render(); }
/** * This method provides edit google docs page. * * @param drone WebDrone * @return EditInGoogleDocsPage */ public static EditInGoogleDocsPage openEditGoogleDocFromDetailsPage(WebDrone drone) { DocumentDetailsPage detailsPage = ShareUser.getSharePage(drone).render(); detailsPage.render(); EditInGoogleDocsPage googleDocsPage = detailsPage.editInGoogleDocs().render(); if (isGoogleDocsV3) { googleDocsPage = switchToGoogleWindow(drone).render(); } return googleDocsPage.render(); }
/** * Open Repository Page: Top Level Assumes User is logged in Opens repository in simple View * * @param driver WebDrone Instance * @return RepositoryPage */ public static RepositoryPage openRepositoryGalleryView(WebDrone driver) { // Assumes User is logged in SharePage page = ShareUser.getSharePage(driver); RepositoryPage repositorypage = page.getNav().selectRepository(); repositorypage = ((RepositoryPage) ShareUserSitePage.selectView(driver, ViewType.GALLERY_VIEW)); logger.info("Opened RepositoryPage"); return repositorypage; }
/** * Saving the google doc with the minor version and if isCreate boolean value is true for saving * the new google doc otherwise existing google doc. * * @param drone WebDrone * @param isCreateDoc boolean * @return SharPage */ public static SharePage saveGoogleDoc(WebDrone drone, boolean isCreateDoc) { EditInGoogleDocsPage googleDocsPage = ShareUser.getSharePage(drone).render(); googleDocsPage.setGoogleCreate(isCreateDoc); if (isGoogleDocsV3) { String title = googleDocsPage.getDocumentTitle(); closeAndSwitchToShare(drone); SharePage currPage = ShareUser.getSharePage(drone).render(); if (currPage instanceof DocumentDetailsPage) { return ((DocumentDetailsPage) currPage).clickCheckInGoogleDoc().submit().render(); } else if (currPage instanceof DocumentLibraryPage) { return ((DocumentLibraryPage) currPage) .getFileDirectoryInfo(title) .selectCheckInGoogleDoc() .submit() .render(); } } else { GoogleDocsUpdateFilePage googleUpdatefile = googleDocsPage.selectSaveToAlfresco().render(); googleUpdatefile.render(); googleUpdatefile.selectMinorVersionChange(); return googleUpdatefile.submit().render(); } throw new PageOperationException("Unable to save Google Doc"); }
public static RepositoryPage openUserFromUserHomesFolderOfRepository( WebDrone drone, String usrName) { String url = drone.getCurrentUrl(); // http://127.0.0.1:8081/share /page/repository#filter=path|%2FUser%2520Homes%2F // userEnterprise42-5405%40freetht1.test-1 |&page=1 String target = url.substring(0, url.indexOf("/page/")) + "/page/repository#filter=path|%2FUser%2520Homes%2F" + StringUtils.replace(usrName, "@", "%40") + "|&page=1"; drone.navigateTo(target); drone.waitForPageLoad(maxWaitTime); RepositoryPage repoPage = (RepositoryPage) ShareUser.getSharePage(drone); return repoPage.render(); }
public static EditInGoogleDocsPage createGoogleDocWithoutSave( WebDrone drone, String fileName, ContentType contentType) throws Exception { DocumentLibraryPage docLibPage = ShareUser.getSharePage(drone).render(); GoogleDocsAuthorisation googleAuthorisationPage = docLibPage.getNavigation().selectCreateContent(contentType).render(); googleAuthorisationPage.render(); EditInGoogleDocsPage googleDocsPage = signInGoogleDocs(drone, googleAuthorisationPage); googleDocsPage.setGoogleCreate(true); if (isGoogleDocsV3) { googleDocsPage = switchToGoogleWindow(drone); } if (!(fileName == null)) { return renameGoogleDocName(fileName, googleDocsPage); } throw new PageOperationException("Filename param must not be null : error creating GoogleDoc"); }
/** * Discarding the changes made in google doc. Methods used for edition by concurrent user's * * @param drone WebDrone * @return HtmlPage */ public static HtmlPage discardGoogleDocsChangesOtherEditor(WebDrone drone) { EditInGoogleDocsPage googleDocsPage = ShareUser.getSharePage(drone).render(); GoogleDocsDiscardChanges googleDocsDiscardChanges = googleDocsPage.selectDiscard().render(); return googleDocsDiscardChanges.clickOkConcurrentEditorButton().render(); }