Guest User

Untitled

a guest
Jan 9th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.55 KB | None | 0 0
  1.     public boolean countProductsFromRandomFacet() {
  2.         verfiyPageHasFacets();
  3.         List<WebElement> facetTabs = DriverFactory.getDriver().findElementsWithWait(facets_ProductTabs);
  4.         int counter = 0;
  5.         Integer expectedResult = 0;
  6.         for (int i = 0; i < facetTabs.size(); i++) {
  7.             WebElement tempElement = facetTabs.get(i);
  8.             counter = 0;
  9.             expectedResult = Integer.parseInt(
  10.                     tempElement.findElement(facetValue_ProductTabs).getText().replaceAll("[\\\\(\\\\) ]", ""));
  11.             DriverFactory.getDriver().clickWebElement(facetTabs.get(i));
  12.  
  13.             counter = countProductsFromFacet();
  14.  
  15.             DriverFactory.getDriver().clickElement(checkedFacet);
  16.  
  17.             if (expectedResult != counter) {
  18.                 LOG.error("For facet and expected ammount " + tempElement.getText() + ", actual products ammount is "
  19.                         + counter);
  20.                 return false;
  21.             }
  22.             facetTabs = DriverFactory.getDriver().findElementsWithWait(facets_ProductTabs);
  23.         }
  24.         return true;
  25.     }
  26.  
  27.     public boolean countProductsFromMixedSections() {
  28.         verfiyPageHasFacets();
  29.         WebElement randomSection;
  30.         int counter = 0;
  31.         List<WebElement> facetTabs = DriverFactory.getDriver().findElementsWithWait(facets_ProductTabs);
  32.         int randomFilterNumber = RandomGenerator.getRandomInt(0, facetTabs.size() - 1);
  33.         WebElement randomFilter = facetTabs.get(randomFilterNumber);
  34.         DriverFactory.getDriver().clickWebElement(randomFilter);
  35.  
  36.         List<WebElement> facetSections = DriverFactory.getDriver().findElementsWithWait(facetsSections_ProductTabs);
  37.         if (facetSections.size() < 2) {
  38.             LOG.info("There is only one facets section available - skipping test");
  39.             Assume.assumeTrue(false);
  40.             return false;
  41.         }
  42.         while (true) {
  43.             int randomSectionNumber = 0;
  44.             if (facetSections.size() > 1)
  45.                 randomSectionNumber = RandomGenerator.getRandomInt(0, facetSections.size() - 1);
  46.             randomSection = facetSections.get(randomSectionNumber);
  47.  
  48.             try {
  49.                 randomSection.findElement(By.cssSelector("a[class*='facet-item un-checked checked']"));
  50.             } catch (Exception ex) {
  51.                 break;
  52.             }
  53.             LOG.info(randomSection.getText() + " contains a selected value");
  54.             facetSections.remove(randomSectionNumber);
  55.         }
  56.         List<WebElement> randomSectionFilters = randomSection.findElements(facetsFromSection_ProductTabs);
  57.  
  58.         randomFilterNumber = RandomGenerator.getRandomInt(0, randomSectionFilters.size() - 1);
  59.  
  60.         WebElement randomSectionFilter = randomSectionFilters.get(randomFilterNumber);
  61.  
  62.         WebElement randomSectionFilterValue = randomSectionFilter
  63.                 .findElement(By.cssSelector("span[class*='facet-value-count']"));
  64.  
  65.         int expectedValue = Integer.parseInt(randomSectionFilterValue.getText().replaceAll("[\\(\\) ]", ""));
  66.  
  67.         DriverFactory.getDriver().clickWebElement(randomSectionFilter);
  68.  
  69.         counter = countProductsFromFacet();
  70.  
  71.         if (expectedValue != counter) {
  72.             List<WebElement> checkedFilters = DriverFactory.getDriver().findElements(checkedFacet);
  73.             LOG.error("For facet and expected ammount " + checkedFilters.toString(),
  74.                     ", actual products ammount is " + counter);
  75.             return false;
  76.         }
  77.         return true;
  78.     }
  79.  
  80.     public boolean countProductsFromSumOfFacets() {
  81.         verfiyPageHasFacets();
  82.         int counter = 0;
  83.         int expectedValue = 0;
  84.         List<WebElement> sectionsTempList = DriverFactory.getDriver().findElementsWithWait(facetsSections_ProductTabs);
  85.         int sectionsListSize = sectionsTempList.size();
  86.         for (int i = 0; i < sectionsListSize; i++) {
  87.             List<WebElement> tempFacetsList = sectionsTempList.get(i).findElements(facetsFromSection_ProductTabs);
  88.             if (tempFacetsList.size() < 2 && i == sectionsListSize - 1) {
  89.                 sectionsTempList.remove(i);
  90.             } else if (tempFacetsList.size() < 2) {
  91.                 sectionsTempList.remove(i);
  92.                 i--;
  93.                 sectionsListSize--;
  94.             }
  95.         }
  96.  
  97.         if (sectionsTempList.isEmpty()) {
  98.             LOG.info("There is only single facets sections section available - skipping test");
  99.             Assume.assumeTrue(false);
  100.         }
  101.         int randomSectionNumber = RandomGenerator.getRandomInt(0, sectionsTempList.size() - 1);
  102.         WebElement randomSection = sectionsTempList.get(randomSectionNumber);
  103.         List<WebElement> facetsList = randomSection.findElements(facetsFromSection_ProductTabs);
  104.         int randomFacetNumber = RandomGenerator.getRandomInt(0, facetsList.size() - 1);
  105.         WebElement randomFacet = facetsList.get(randomFacetNumber);
  106.         expectedValue += Integer
  107.                 .parseInt(randomFacet.findElement(facetValue_ProductTabs).getText().replaceAll("[\\(\\) ]", ""));
  108.         DriverFactory.getDriver().clickWebElement(randomFacet);
  109.  
  110.         List<WebElement> facetSections = DriverFactory.getDriver().findElementsWithWait(facetsSections_ProductTabs);
  111.         while (true) {
  112.             randomSectionNumber = 0;
  113.             if (facetSections.size() > 1)
  114.                 randomSectionNumber = RandomGenerator.getRandomInt(0, facetSections.size() - 1);
  115.             randomSection = facetSections.get(randomSectionNumber);
  116.  
  117.             try {
  118.                 randomSection.findElement(By.cssSelector("a[class*='facet-item un-checked checked']"));
  119.             } catch (Exception ex) {
  120.                 continue;
  121.             }
  122.             LOG.info(randomSection.getText() + " contains a selected value");
  123.             randomSection = facetSections.get(randomSectionNumber);
  124.             break;
  125.         }
  126.         facetsList = randomSection.findElements(By.cssSelector("a[class='facet-item un-checked']"));
  127.         randomFacetNumber = RandomGenerator.getRandomInt(0, facetsList.size() - 1);
  128.         randomFacet = facetsList.get(randomFacetNumber);
  129.         expectedValue += Integer
  130.                 .parseInt(randomFacet.findElement(facetValue_ProductTabs).getText().replaceAll("[\\(\\) ]", ""));
  131.         DriverFactory.getDriver().clickWebElement(randomFacet);
  132.  
  133.         counter = countProductsFromFacet();
  134.  
  135.         if (expectedValue != counter) {
  136.             List<WebElement> checkedFilters = DriverFactory.getDriver().findElements(checkedFacet);
  137.             LOG.error("For facet and expected ammount " + checkedFilters.toString(),
  138.                     ", actual products ammount is " + counter);
  139.             return false;
  140.         }
  141.         return true;
  142.     }
  143.  
  144.     public int countProductsFromFacet() {
  145.         int counter = 0;
  146.         List<WebElement> list;
  147.         while (DriverFactory.getDriver().isElementPresent(paginationBarNext)) {
  148.             list = DriverFactory.getDriver().findElementsWithWait(listOfProductsURL_ProductTabs);
  149.             counter += (list.size() - 1);
  150.             DriverFactory.getDriver().clickElement(paginationBarNext);
  151.         }
  152.         list = DriverFactory.getDriver().findElementsWithWait(listOfProductsURL_ProductTabs);
  153.         counter += list.size();
  154.  
  155.         return counter;
  156.     }
  157.  
  158.     private void verfiyPageHasFacets() {
  159.         boolean result = true;
  160.         try {
  161.             result = DriverFactory.getDriver().isElementPresent(facets_ProductTabs);
  162.         } catch (NoSuchElementException ex) {
  163.             result = false;
  164.         }
  165.         Assume.assumeTrue("Page does not have any facets, skipping test", result);
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment