You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TimePopupSelectionTest.java 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * Copyright 2000-2016 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.tests.components.datefield;
  17. import java.util.List;
  18. import org.junit.Assert;
  19. import org.junit.Test;
  20. import org.openqa.selenium.Keys;
  21. import org.openqa.selenium.WebElement;
  22. import org.openqa.selenium.support.ui.Select;
  23. import com.vaadin.testbench.By;
  24. import com.vaadin.testbench.customelements.DateTimeFieldElement;
  25. import com.vaadin.tests.tb3.MultiBrowserTest;
  26. /**
  27. * @author Vaadin Ltd
  28. *
  29. */
  30. public class TimePopupSelectionTest extends MultiBrowserTest {
  31. @Test
  32. public void selectDateAndTimeFromPopup() {
  33. openTestURL();
  34. DateTimeFieldElement field = $(DateTimeFieldElement.class).first();
  35. Assert.assertEquals("1/13/17 01:00:00 AM", field.getValue());
  36. field.openPopup();
  37. List<WebElement> timeSelects = findElement(
  38. By.className("v-datefield-calendarpanel-time"))
  39. .findElements(By.tagName("select"));
  40. new Select(timeSelects.get(0)).selectByValue("09");
  41. Assert.assertEquals("1/13/17 09:00:00 AM", field.getValue());
  42. new Select(timeSelects.get(1)).selectByValue("35");
  43. Assert.assertEquals("1/13/17 09:35:00 AM", field.getValue());
  44. new Select(timeSelects.get(2)).selectByValue("41");
  45. Assert.assertEquals("1/13/17 09:35:41 AM", field.getValue());
  46. closePopup();
  47. waitUntil(driver -> getLogRow(0).equals("1. 13/01/2017 09:35:41"));
  48. }
  49. private void closePopup() {
  50. findElement(By.className("v-datefield-calendarpanel"))
  51. .sendKeys(Keys.ENTER);
  52. }
  53. }