Skip to content

Commit e893ce2

Browse files
committed
[java] add interactions test with swapping pointer inputs
1 parent cce9962 commit e893ce2

File tree

1 file changed

+63
-4
lines changed

1 file changed

+63
-4
lines changed

‎java/test/org/openqa/selenium/interactions/CombinedInputActionsTest.java

Lines changed: 63 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,8 @@ public void testControlClickingOnMultiSelectionList() {
196196
@Ignore(IE)
197197
@Ignore(value = FIREFOX, travis = true)
198198
public void testControlClickingOnCustomMultiSelectionList() {
199-
assumeFalse("FIXME: macs don't have CONTROL key",
200-
getEffectivePlatform(driver).is(Platform.MAC));
201199
driver.get(pages.selectableItemsPage);
200+
Keys key = getEffectivePlatform(driver).is(Platform.MAC) ? Keys.COMMAND : Keys.CONTROL;
202201

203202
WebElement reportingElement = driver.findElement(By.id("infodiv"));
204203

@@ -207,11 +206,11 @@ public void testControlClickingOnCustomMultiSelectionList() {
207206
List<WebElement> listItems = driver.findElements(By.tagName("li"));
208207

209208
Actions actions = new Actions(driver);
210-
Action selectThreeItems = actions.keyDown(Keys.CONTROL)
209+
Action selectThreeItems = actions.keyDown(key)
211210
.click(listItems.get(1))
212211
.click(listItems.get(3))
213212
.click(listItems.get(5))
214-
.keyUp(Keys.CONTROL)
213+
.keyUp(key)
215214
.build();
216215

217216
selectThreeItems.perform();
@@ -224,6 +223,66 @@ public void testControlClickingOnCustomMultiSelectionList() {
224223
assertThat(reportingElement.getText()).isEqualTo("#item7");
225224
}
226225

226+
@Test
227+
@Ignore(IE)
228+
@Ignore(value = FIREFOX, travis = true)
229+
public void testControlClickingWithMultiplePointers() {
230+
driver.get(pages.selectableItemsPage);
231+
232+
Keys key = getEffectivePlatform(driver).is(Platform.MAC) ? Keys.COMMAND : Keys.CONTROL;
233+
WebElement reportingElement = driver.findElement(By.id("infodiv"));
234+
235+
assertThat(reportingElement.getText()).isEqualTo("no info");
236+
237+
List<WebElement> listItems = driver.findElements(By.tagName("li"));
238+
239+
PointerInput defaultPen = new PointerInput(PointerInput.Kind.PEN, "default pen");
240+
Sequence actionListPen = new Sequence(defaultPen, 0)
241+
.addAction(new Pause(defaultPen, Duration.ZERO))
242+
.addAction(defaultPen.createPointerMove(Duration.ZERO, PointerInput.Origin.fromElement(listItems.get(1)), 0, 0))
243+
.addAction(defaultPen.createPointerDown(0))
244+
.addAction(defaultPen.createPointerUp(0))
245+
.addAction(new Pause(defaultPen, Duration.ZERO))
246+
.addAction(new Pause(defaultPen, Duration.ZERO))
247+
.addAction(new Pause(defaultPen, Duration.ZERO))
248+
.addAction(defaultPen.createPointerMove(Duration.ZERO, PointerInput.Origin.fromElement(listItems.get(3)), 0, 0))
249+
.addAction(defaultPen.createPointerDown(0))
250+
.addAction(defaultPen.createPointerUp(0))
251+
.addAction(new Pause(defaultPen, Duration.ZERO));
252+
253+
PointerInput defaultMouse = new PointerInput(PointerInput.Kind.MOUSE, "default mouse");
254+
Sequence actionListMouse = new Sequence(defaultMouse, 0)
255+
.addAction(new Pause(defaultMouse, Duration.ZERO))
256+
.addAction(new Pause(defaultMouse, Duration.ZERO))
257+
.addAction(new Pause(defaultMouse, Duration.ZERO))
258+
.addAction(new Pause(defaultMouse, Duration.ZERO))
259+
.addAction(defaultMouse.createPointerMove(Duration.ZERO, PointerInput.Origin.fromElement(listItems.get(5)), 0, 0))
260+
.addAction(defaultMouse.createPointerDown(0))
261+
.addAction(defaultMouse.createPointerUp(0))
262+
.addAction(new Pause(defaultMouse, Duration.ZERO))
263+
.addAction(new Pause(defaultMouse, Duration.ZERO))
264+
.addAction(new Pause(defaultMouse, Duration.ZERO))
265+
.addAction(new Pause(defaultMouse, Duration.ZERO));
266+
267+
KeyInput defaultKeyboard = new KeyInput("default keyboard");
268+
Sequence actionListKeyboard = new Sequence(defaultKeyboard, 0)
269+
.addAction(defaultKeyboard.createKeyDown(key.getCodePoint()))
270+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
271+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
272+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
273+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
274+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
275+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
276+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
277+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
278+
.addAction(new Pause(defaultKeyboard, Duration.ZERO))
279+
.addAction(defaultKeyboard.createKeyUp(key.getCodePoint()));
280+
281+
((RemoteWebDriver) driver).perform(Arrays.asList(actionListKeyboard, actionListPen, actionListMouse));
282+
283+
assertThat(reportingElement.getText()).isEqualTo("#item2 #item4 #item6");
284+
}
285+
227286
private void navigateToClicksPageAndClickLink() {
228287
driver.get(pages.clicksPage);
229288

0 commit comments

Comments
 (0)