Как key.tab и sendkeys через форму полей ввода без локаторов элементов? - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь заполнить страницу формы множеством типов полей ввода (текст, радиокнопки, числовые поля и т. Д. c.), Но проблема в том, что все поля являются динамическими c, что затрудняет работу с.

Мне было интересно, возможно ли просто key.tab через каждое поле и send.keys без указания элемента полей? или мне нужно каким-то образом найти способ использовать родительский div и развернуть их до тех пор, пока я не найду указанный элемент c. Заранее спасибо!

Вот что у меня есть в моем сценарии selenium C#:

        public void FillOutForm()
    {
        //this fills out the first text input field: correct
        Driver.FindElement(By.XPath("//input[contains(@id,'sa-txt')]")).SendKeys("Timmy");

        //tab to next input field
        builder.SendKeys(OpenQA.Selenium.Keys.Tab).Build().Perform();

        //this actually enters the text on another field in the form and not the second field: incorrect
        new Actions(Driver).SendKeys("Jones").Perform();

        builder.SendKeys(OpenQA.Selenium.Keys.Tab).Build().Perform();

        Utils.Pause(5000);
    }

Также снимок экрана с проверкой пользовательского интерфейса ImageofUI

1 Ответ

0 голосов
/ 03 марта 2020

Не рекомендуется использовать абсолютный xpath. Лучше всего получить коллекцию текстовых полей, используя css селектор ввода [type = 'text'] и установить некоторое значение.

...