Update integration UI tests selenium image 85/119485/2
authorandre.schmid <andre.schmid@est.tech>
Mon, 15 Mar 2021 16:51:12 +0000 (16:51 +0000)
committerChristophe Closset <christophe.closset@intl.att.com>
Thu, 18 Mar 2021 11:27:58 +0000 (11:27 +0000)
The integration UI tests were using a very old selenium image
"selenium/standalone-firefox:2.53.1" (from 4 years ago), which was
bringing problems related with outdated version of firefox/selenium
standalone.
Fixes broken tests after the update.
Updates also the gecko driver to the 0.29.0 version.

Change-Id: I1f7ad17c649e4015cde5c1932f9da08e36ca0aec
Issue-ID: SDC-3516
Signed-off-by: andre.schmid <andre.schmid@est.tech>
catalog-ui/src/app/ng2/components/modals/onboarding-modal/onboarding-modal.component.ts
integration-tests/pom.xml
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/setup/WebDriverThread.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/GeneralPageElements.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/HomePage.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/utilities/OnboardingUiUtils.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/utilities/ServiceUIUtils.java

index 2e41716..10d7f67 100644 (file)
@@ -135,7 +135,8 @@ export class OnboardingModalComponent implements OnInit {
             (file: any): void => {
                 this.isLoading = false;
                 if (file.body) {
-                    this.fileUtilsService.downloadFile(file.body, packageId + '.csar');
+                    this.fileUtilsService.downloadFile(new Blob([file.body],
+                        {type: 'application/octet-stream'}), packageId + '.csar');
                 }
             }, (): void => {
                 this.isLoading = false;
index 80eef5b..b025da2 100644 (file)
@@ -37,7 +37,7 @@ limitations under the License.
 
     <properties>
         <selenium.version>3.141.59</selenium.version>
-        <gecko.driver.version>0.27.0</gecko.driver.version>
+        <gecko.driver.version>0.29.0</gecko.driver.version>
         <!-- SDC Startup parameters -->
         <it.env.name>integration-test</it.env.name>
         <it.cassandra.port>9042</it.cassandra.port>
@@ -50,7 +50,7 @@ limitations under the License.
         <it.sdc-be.plugins>${project.build.directory}/plugins/sdc-be</it.sdc-be.plugins>
         <it.shared.volume>/tmp/sdc-integration-tests</it.shared.volume>
         <it.docker.version>latest</it.docker.version>
-        <it.ui.firefox.version>2.53.1</it.ui.firefox.version>
+        <it.ui.firefox.version>86.0</it.ui.firefox.version>
 
         <!-- parser-->
         <sdc-tosca-parser.version>1.6.5</sdc-tosca-parser.version>
@@ -216,7 +216,7 @@ limitations under the License.
         <dependency>
             <groupId>org.seleniumhq.selenium</groupId>
             <artifactId>selenium-server</artifactId>
-            <version>4.0.0-alpha-2</version>
+            <version>${selenium.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -740,12 +740,10 @@ limitations under the License.
                                             <!--<port>5900</port>-->
                                             <!-- VNC port for viewing the browser result -->
                                             <!-- password to access is "secret" -->
-
                                         </ports>
                                     </tcp>
                                 </wait>
                                 <env>
-                                    <SE_OPTS>-debug</SE_OPTS>
                                     <JAVA_OPTS>-Xmx512m</JAVA_OPTS>
                                     <!--<START_XVFB>false</START_XVFB>-->
                                     <SCREEN_WIDTH>1920</SCREEN_WIDTH>
index 4d08e84..a24c21d 100644 (file)
@@ -104,7 +104,9 @@ public class WebDriverThread {
         //firefoxProfile.setPreference("browser.download.dir", config.getContainerDownloadAutomationFolder());
         //firefoxProfile.setPreference("app.update.notifyDuringDownload", false);
         //firefoxProfile.setPreference("browser.download.lastDir", config.getContainerDownloadAutomationFolder());
-        firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream, application/xml, text/plain, text/xml, image/jpeg");
+        final String contentType = "application/zip, application/octet-stream, application/xml, text/plain, text/xml, image/jpeg";
+        firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", contentType);
+        firefoxProfile.setPreference("browser.helperApps.neverAsk.openFile", contentType);
         firefoxProfile.setPreference("network.proxy.type", 4);
         firefoxProfile.setAcceptUntrustedCertificates(true);
         firefoxProfile.setAssumeUntrustedCertificateIssuer(true);
index 2397815..64c87ce 100644 (file)
@@ -141,7 +141,6 @@ public class GeneralPageElements {
         SetupCDTest.getExtendTest().log(Status.INFO, String.format("Component %s archived successfully", componentName));
     }
 
-    //TODO should implement real code
     public static void clickCertifyButton(String componentName) throws Exception {
         try {
             SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on certify button");
@@ -150,8 +149,7 @@ public class GeneralPageElements {
                     .sendKeys("resource " + componentName + " certified successfully");
             clickOKButton();
             GeneralUIUtils.ultimateWait();
-            HomePage.navigateToHomePage();
-            GeneralUIUtils.ultimateWait();
+            GeneralUIUtils.waitForElementInVisibilityBy(By.className("notification-container"), 10000);
             HomePage.navigateToHomePage();
             GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtons.SEARCH_BOX.getValue(), GeneralUIUtils.getTimeOut() / WAIT_FOR_ELEMENT_TIME_OUT_DIVIDER);
             GeneralUIUtils.ultimateWait();
index 4f270cf..0c72a97 100644 (file)
@@ -29,6 +29,7 @@ import org.onap.sdc.frontend.ci.tests.utilities.FileHandling;
 import org.onap.sdc.frontend.ci.tests.utilities.GeneralUIUtils;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
+import org.openqa.selenium.interactions.Actions;
 import org.openqa.selenium.support.ui.ExpectedConditions;
 import org.openqa.selenium.support.ui.WebDriverWait;
 import org.slf4j.Logger;
@@ -41,6 +42,7 @@ import java.util.Calendar;
 import java.util.List;
 import java.util.UUID;
 
+import static org.onap.sdc.frontend.ci.tests.execute.setup.DriverFactory.getDriver;
 import static org.onap.sdc.frontend.ci.tests.execute.setup.SetupCDTest.getExtendTest;
 import static org.onap.sdc.frontend.ci.tests.pages.HomePage.PageElement.REPOSITORY_ICON;
 
@@ -103,6 +105,10 @@ public class HomePage {
             GeneralUIUtils.closeErrorMessage();
             WebElement homeButton = GeneralUIUtils
                 .getInputElement(DataTestIdEnum.MainMenuButtons.HOME_BUTTON.getValue());
+            if (homeButton != null) {
+                //making sure that the mouse it is not on the add/import area
+                new Actions(getDriver()).moveToElement(homeButton).perform();
+            }
             return homeButton != null && homeButton.isDisplayed();
 
         } catch (final Exception e) {
index b415192..84a528e 100644 (file)
@@ -165,7 +165,7 @@ public class OnboardingUiUtils {
 
         DownloadManager.downloadCsarByNameFromVSPRepository(vspName, createVendorSoftwareProduct.getVspId());
         File latestFilefromDir = FileHandling.getLastModifiedFileNameFromDir();
-
+        ExtentTestActions.log(Status.INFO, String.format("Downloaded CSAR file '%s'", latestFilefromDir));
         ExtentTestActions.log(Status.INFO, String.format("Going to import %s", vnfFile.substring(0, vnfFile.indexOf("."))));
         importVSP(createVendorSoftwareProduct);
 
index 48fb0b8..1293401 100644 (file)
 package org.onap.sdc.frontend.ci.tests.utilities;
 
 import com.aventstack.extentreports.Status;
+import java.util.ArrayList;
+import java.util.List;
 import org.onap.sdc.backend.ci.tests.datatypes.ServiceReqDetails;
 import org.onap.sdc.backend.ci.tests.datatypes.enums.ServiceCategoriesEnum;
+import org.onap.sdc.frontend.ci.tests.datatypes.DataTestIdEnum;
+import org.onap.sdc.frontend.ci.tests.execute.setup.SetupCDTest;
 import org.onap.sdc.frontend.ci.tests.pages.GeneralPageElements;
 import org.onap.sdc.frontend.ci.tests.pages.ServiceGeneralPage;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.category.CategoryDefinition;
-import org.onap.sdc.frontend.ci.tests.datatypes.DataTestIdEnum;
-import org.onap.sdc.frontend.ci.tests.execute.setup.SetupCDTest;
+import org.openqa.selenium.By;
 import org.openqa.selenium.Keys;
 import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
-
-import java.util.ArrayList;
-import java.util.List;
 
 public class ServiceUIUtils {
 
@@ -61,6 +60,7 @@ public class ServiceUIUtils {
         ServiceGeneralPage.defineNamingPolicy(service.getNamingPolicy());
         defineTagsList2(service.getTags());
         ServiceGeneralPage.defineContactId(service.getContactId());
+        GeneralUIUtils.waitForElementInVisibilityBy(By.className("notification-container"), 10000);
         GeneralUIUtils.clickSomewhereOnPage();
     }