Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public boolean countProductsFromRandomFacet() {
- verfiyPageHasFacets();
- List<WebElement> facetTabs = DriverFactory.getDriver().findElementsWithWait(facets_ProductTabs);
- int counter = 0;
- Integer expectedResult = 0;
- for (int i = 0; i < facetTabs.size(); i++) {
- WebElement tempElement = facetTabs.get(i);
- counter = 0;
- expectedResult = Integer.parseInt(
- tempElement.findElement(facetValue_ProductTabs).getText().replaceAll("[\\\\(\\\\) ]", ""));
- DriverFactory.getDriver().clickWebElement(facetTabs.get(i));
- counter = countProductsFromFacet();
- DriverFactory.getDriver().clickElement(checkedFacet);
- if (expectedResult != counter) {
- LOG.error("For facet and expected ammount " + tempElement.getText() + ", actual products ammount is "
- + counter);
- return false;
- }
- facetTabs = DriverFactory.getDriver().findElementsWithWait(facets_ProductTabs);
- }
- return true;
- }
- public boolean countProductsFromMixedSections() {
- verfiyPageHasFacets();
- WebElement randomSection;
- int counter = 0;
- List<WebElement> facetTabs = DriverFactory.getDriver().findElementsWithWait(facets_ProductTabs);
- int randomFilterNumber = RandomGenerator.getRandomInt(0, facetTabs.size() - 1);
- WebElement randomFilter = facetTabs.get(randomFilterNumber);
- DriverFactory.getDriver().clickWebElement(randomFilter);
- List<WebElement> facetSections = DriverFactory.getDriver().findElementsWithWait(facetsSections_ProductTabs);
- if (facetSections.size() < 2) {
- LOG.info("There is only one facets section available - skipping test");
- Assume.assumeTrue(false);
- return false;
- }
- while (true) {
- int randomSectionNumber = 0;
- if (facetSections.size() > 1)
- randomSectionNumber = RandomGenerator.getRandomInt(0, facetSections.size() - 1);
- randomSection = facetSections.get(randomSectionNumber);
- try {
- randomSection.findElement(By.cssSelector("a[class*='facet-item un-checked checked']"));
- } catch (Exception ex) {
- break;
- }
- LOG.info(randomSection.getText() + " contains a selected value");
- facetSections.remove(randomSectionNumber);
- }
- List<WebElement> randomSectionFilters = randomSection.findElements(facetsFromSection_ProductTabs);
- randomFilterNumber = RandomGenerator.getRandomInt(0, randomSectionFilters.size() - 1);
- WebElement randomSectionFilter = randomSectionFilters.get(randomFilterNumber);
- WebElement randomSectionFilterValue = randomSectionFilter
- .findElement(By.cssSelector("span[class*='facet-value-count']"));
- int expectedValue = Integer.parseInt(randomSectionFilterValue.getText().replaceAll("[\\(\\) ]", ""));
- DriverFactory.getDriver().clickWebElement(randomSectionFilter);
- counter = countProductsFromFacet();
- if (expectedValue != counter) {
- List<WebElement> checkedFilters = DriverFactory.getDriver().findElements(checkedFacet);
- LOG.error("For facet and expected ammount " + checkedFilters.toString(),
- ", actual products ammount is " + counter);
- return false;
- }
- return true;
- }
- public boolean countProductsFromSumOfFacets() {
- verfiyPageHasFacets();
- int counter = 0;
- int expectedValue = 0;
- List<WebElement> sectionsTempList = DriverFactory.getDriver().findElementsWithWait(facetsSections_ProductTabs);
- int sectionsListSize = sectionsTempList.size();
- for (int i = 0; i < sectionsListSize; i++) {
- List<WebElement> tempFacetsList = sectionsTempList.get(i).findElements(facetsFromSection_ProductTabs);
- if (tempFacetsList.size() < 2 && i == sectionsListSize - 1) {
- sectionsTempList.remove(i);
- } else if (tempFacetsList.size() < 2) {
- sectionsTempList.remove(i);
- i--;
- sectionsListSize--;
- }
- }
- if (sectionsTempList.isEmpty()) {
- LOG.info("There is only single facets sections section available - skipping test");
- Assume.assumeTrue(false);
- }
- int randomSectionNumber = RandomGenerator.getRandomInt(0, sectionsTempList.size() - 1);
- WebElement randomSection = sectionsTempList.get(randomSectionNumber);
- List<WebElement> facetsList = randomSection.findElements(facetsFromSection_ProductTabs);
- int randomFacetNumber = RandomGenerator.getRandomInt(0, facetsList.size() - 1);
- WebElement randomFacet = facetsList.get(randomFacetNumber);
- expectedValue += Integer
- .parseInt(randomFacet.findElement(facetValue_ProductTabs).getText().replaceAll("[\\(\\) ]", ""));
- DriverFactory.getDriver().clickWebElement(randomFacet);
- List<WebElement> facetSections = DriverFactory.getDriver().findElementsWithWait(facetsSections_ProductTabs);
- while (true) {
- randomSectionNumber = 0;
- if (facetSections.size() > 1)
- randomSectionNumber = RandomGenerator.getRandomInt(0, facetSections.size() - 1);
- randomSection = facetSections.get(randomSectionNumber);
- try {
- randomSection.findElement(By.cssSelector("a[class*='facet-item un-checked checked']"));
- } catch (Exception ex) {
- continue;
- }
- LOG.info(randomSection.getText() + " contains a selected value");
- randomSection = facetSections.get(randomSectionNumber);
- break;
- }
- facetsList = randomSection.findElements(By.cssSelector("a[class='facet-item un-checked']"));
- randomFacetNumber = RandomGenerator.getRandomInt(0, facetsList.size() - 1);
- randomFacet = facetsList.get(randomFacetNumber);
- expectedValue += Integer
- .parseInt(randomFacet.findElement(facetValue_ProductTabs).getText().replaceAll("[\\(\\) ]", ""));
- DriverFactory.getDriver().clickWebElement(randomFacet);
- counter = countProductsFromFacet();
- if (expectedValue != counter) {
- List<WebElement> checkedFilters = DriverFactory.getDriver().findElements(checkedFacet);
- LOG.error("For facet and expected ammount " + checkedFilters.toString(),
- ", actual products ammount is " + counter);
- return false;
- }
- return true;
- }
- public int countProductsFromFacet() {
- int counter = 0;
- List<WebElement> list;
- while (DriverFactory.getDriver().isElementPresent(paginationBarNext)) {
- list = DriverFactory.getDriver().findElementsWithWait(listOfProductsURL_ProductTabs);
- counter += (list.size() - 1);
- DriverFactory.getDriver().clickElement(paginationBarNext);
- }
- list = DriverFactory.getDriver().findElementsWithWait(listOfProductsURL_ProductTabs);
- counter += list.size();
- return counter;
- }
- private void verfiyPageHasFacets() {
- boolean result = true;
- try {
- result = DriverFactory.getDriver().isElementPresent(facets_ProductTabs);
- } catch (NoSuchElementException ex) {
- result = false;
- }
- Assume.assumeTrue("Page does not have any facets, skipping test", result);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment