类org.openqa.selenium.interactions.KeyInput源码实例Demo

下面列出了怎么用org.openqa.selenium.interactions.KeyInput的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: appiumpro   文件: Edition046_W3C_Keys.java
@Test
public void testLowLevelKeys() {
    wait.until(ExpectedConditions.presenceOfElementLocated(loginScreen)).click();
    WebElement usernameField = driver.findElement(username);
    usernameField.click();

    KeyInput keyboard = new KeyInput("keyboard");
    Sequence sendKeys = new Sequence(keyboard, 0);

    sendKeys.addAction(keyboard.createKeyDown(Keys.SHIFT.getCodePoint()));
    sendKeys.addAction(keyboard.createKeyDown("f".codePointAt(0)));
    sendKeys.addAction(keyboard.createKeyUp("f".codePointAt(0)));
    sendKeys.addAction(keyboard.createKeyUp(Keys.SHIFT.getCodePoint()));

    sendKeys.addAction(keyboard.createKeyDown("o".codePointAt(0)));
    sendKeys.addAction(keyboard.createKeyUp("o".codePointAt(0)));

    sendKeys.addAction(keyboard.createKeyDown("o".codePointAt(0)));
    sendKeys.addAction(keyboard.createKeyUp("o".codePointAt(0)));

    driver.perform(Arrays.asList(sendKeys));

    Assert.assertEquals("Foo", usernameField.getText());
}
 
源代码2 项目: java-client   文件: AppiumW3CHttpCommandCodec.java
@Override
protected Map<String, ?> amendParameters(String name, Map<String, ?> parameters) {
    // This blocks parent constructor from undesirable parameters amending
    switch (name) {
        case SEND_KEYS_TO_ACTIVE_ELEMENT:
            Object rawValue = parameters.get("value");
            //noinspection unchecked
            Stream<CharSequence> source = (rawValue instanceof Collection)
                    ? ((Collection<CharSequence>) rawValue).stream()
                    : Stream.of((CharSequence[]) rawValue);
            String text = source
                    .flatMap(Stream::of)
                    .collect(Collectors.joining());

            final KeyInput keyboard = new KeyInput("keyboard");
            Sequence sequence = new Sequence(keyboard, 0);
            for (int i = 0; i < text.length(); ++i) {
                sequence.addAction(keyboard.createKeyDown(text.charAt(i)))
                        .addAction(keyboard.createKeyUp(text.charAt(i)));
            }
            return ImmutableMap.<String, Object>builder()
                    .put("actions", ImmutableList.of(sequence.toJson()))
                    .build();
        case SEND_KEYS_TO_ELEMENT:
        case SET_TIMEOUT:
            return super.amendParameters(name, parameters);
        default:
            return parameters;
    }
}
 
 类所在包
 类方法
 同包方法