Проверьте правильность работы в Chrome, а не в Firefox

Я написал тест, используя TestNG и селен.

code...
actions.sendKeys(Keys.chord(Keys.CONTROL, "a"));
        actions.sendKeys(Keys.BACK_SPACE);
        actions.build().perform();
code...

Я хотел удалить текст в окне входа в систему, используя эти sendKeys, с помощью DataProvider

@DataProvider(name = "inputs")
public Object[][] getData() {
    return new Object[][]{
            {"000000000", true},
            {"000000000", true}
    };
}

HTML:

<div><input type="tel" class="valid TextInput-kJdagG iVdKHC" name="recoveryPhone" id="eb69ff0b-3427-6986-7556-b7af40ffb156" aria-describedby="eb69ff0b-3427-6986-7556-b7af40ffb156" value="+48 "></div>

Сообщение об ошибке:

Unable to read VR 
Path1523545392670   Marionette  INFO    Enabled via --marionette
1523545393744   Marionette  INFO    Listening on port 52644
1523545394180   Marionette  WARN    TLS certificate errors will be ignored for this session

Тестовая работа, как я и ожидал, в Chrome, но в firefox эти sendKeys не всегда отмечают текст и очищают этот текст. В проекте мне нужно использовать класс действий. Почему тест проходит иначе?


person Vertix    schedule 10.04.2018    source источник
comment
Обновите вопрос с помощью соответствующего HTML   -  person DebanjanB    schedule 10.04.2018


Ответы (1)


Проверьте это сообщение https://github.com/mozilla/geckodriver/issues/665 против ваших версий (браузер, драйвер браузера, селен и т. д., которые всегда разумно включать в любой вопрос), это может быть известная ошибка с geckodriver.

Пост включает в себя работу по созданию аккорда другим способом, используя:

List<CharSequence> keyWithModifiers = new ArrayList<CharSequence>();
keyWithModifiers.add(Keys.CONTROL);
keyWithModifiers.add("a");
String ctrlA = Keys.chord(keyWithModifiers);
textFieldElem.sendKeys(ctrlA);

Этот подход сработал для меня с использованием привязок Java Selenium 3.7.1, драйвера gecko 0.18.0 (64 бит) и Firefox 57.0.2 - 59.0

person elworthy    schedule 10.04.2018