Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1. ---common task
  2.  
  3. public static String selectFromDropDownByIndex_noButton_webElementList_multiRandomSelect(WebDriver driver, List<WebElement> dropDownListElementList, String dropDownName, Integer nrOfMultiSelectItems) {
  4. String selectedNames = "DefaultValue";
  5. Map<Integer, String> selectedNamesMap = new HashMap<>();
  6.  
  7. Actions keyActionsAndClick = new Actions(driver);
  8. try {
  9. Waiting.elementsToBeVisible(driver, dropDownListElementList, dropDownName);
  10. keyActionsAndClick.keyDown(Keys.CONTROL);
  11.  
  12. for (int i = 0; i < nrOfMultiSelectItems; i++) {
  13.  
  14. int randomNumber = ThreadLocalRandom.current().nextInt(1, dropDownListElementList.size());
  15. WebElement selectedWebElement = dropDownListElementList.get(randomNumber);
  16. if (!selectedWebElement.isSelected()) {
  17. String selectedName = selectedWebElement.getText();
  18. Log4Test.info("- select element \"" + selectedName + "\" from drop down list " + dropDownName);
  19. selectedNamesMap.put(randomNumber, selectedName);
  20. keyActionsAndClick.click(selectedWebElement);
  21. }
  22. }
  23.  
  24. keyActionsAndClick.keyUp(Keys.CONTROL).build().perform();
  25. selectedNames = selectedNamesMap.values().toString().replace("[", "").replace("]", "");
  26.  
  27. } catch (NoSuchElementException e) {
  28. Assert.fail(Log4Test.error("List element not found: " + dropDownName));
  29. }
  30. return selectedNames;
  31. }
  32.  
  33. public static String getTExtFromDropDownMultipleSelectedList(WebDriver driver, List<WebElement> dropDownListElementList, String dropDownName) {
  34. String selectedNames = "DefaultValue";
  35. Map<Integer, String> selectedNamesMap = new HashMap<>();
  36. try {
  37. int i = 0;
  38. Waiting.elementsToBeVisible(driver, dropDownListElementList, dropDownName);
  39. for (WebElement dropDownListElement : dropDownListElementList) {
  40. selectedNamesMap.put(i, dropDownListElement.getText());
  41. i++;
  42. }
  43. selectedNames = selectedNamesMap.values().toString().replace("[", "").replace("]", "");
  44. } catch (NoSuchElementException e) {
  45. Assert.fail(Log4Test.error("List element not found: " + dropDownName));
  46. }
  47. return selectedNames;
  48. }
  49.  
  50. --- page object
  51.  
  52. public String randomSelectedStates = "defaultValue";
  53. public String selectedStates = "defaultValue";
  54.  
  55. public String selectState_random_number(Integer nrOfMultiSelectItems) {
  56. CommonTask.clickElement(driver, multiSelectStateLisButton, "State search box");
  57. String randomSelectedStatesUnSorted = CommonTask.selectFromDropDownByIndex_noButton_webElementList_multiRandomSelect(driver, searchDefaultResults, "State search box", nrOfMultiSelectItems);
  58. CommonTask.clickElement(driver, multiSelectStateLisButton, "State search box");
  59. ArrayList<String> stateUnsortedList = new ArrayList<>(Arrays.asList(randomSelectedStatesUnSorted.split(",")));
  60. stateUnsortedList.sort(Collator.getInstance());
  61. randomSelectedStates = stateUnsortedList.toString().replace(" ", " ").replace("]", "").replace("[ ", "");
  62. return randomSelectedStates;
  63. }
  64.  
  65. public String getTextFromSelectedStates() {
  66. selectedStates = CommonTask.getTExtFromDropDownMultipleSelectedList(driver, selectedStatesLocator, "State search box").replace("×", "");
  67. return selectedStates;
  68. }
  69.  
  70. --- test
  71.  
  72. jQueryDropDown_Page.selectState_random_number(3);
  73. jQueryDropDown_Page.getTextFromSelectedStates();
  74. Assert.assertEquals(jQueryDropDown_Page.randomSelectedStates, jQueryDropDown_Page.selectedStates);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement