Тестовый прибор (селен) для заполнения медленного списка XML не работаетC#

Место общения программистов C#
Anonymous
 Тестовый прибор (селен) для заполнения медленного списка XML не работает

Сообщение Anonymous »

Я пишу тесты SE для веб -сайта Ext JS 3.x. Это очень старая рамка от Сенчи. Это не соответствует HTML 5 и глубоко гнездятся элементы, которые необходимо проверить. < /P>
Один случай - это объект с 70 датами. В отладке тесты будут проходить. В режиме запуска нет времени, чтобы список заполнялся, и к тому времени, когда его элементы необходимы, последовательность ошибок «не содержит элементов». < /P>
включает весь необходимый код Пробурить в этот список в собственном тестовом приборе браузера по -прежнему становятся жертвами той же проблемы. Список: < /p>








 
Programmatic Dates

























Programmatic Date
Изображение




Active
Изображение
















11/21/2025









< /code>
< /div>
< /div>
< /p>
Вот экраны снимка диалогового окна, с HTML, содержащим список:


Есть 70, содержащие Div, используя использование Элемент класса x-grid3-row для их группировки. < /p>
Div, содержащие элементы (70) Чтобы получить, если они проверены или нет, и значение даты. Дата должна быть выбрана для того, чтобы он был показан в текстовом поле программной даты, например. > 'Programmatic' в этом смысле означает дату, которая будет использоваться в качестве вехи. Они, в свою очередь, связаны с проектами. Всего 10 элементов. Сбой, так как весь список все еще должен быть создан, чтобы взять любое количество элементов.
Поместите код в свой собственный тестовый прибор, банковский разбор в SE код для попытки 4. Идея - метод setup (), вызываемый из конструктора, всплывает ProgrammaticDatesList, и это сделано, его значение передается в собственное свойство, которое должно иметь полный список.
Это должно быть частью настройки. Но это не происходит. < /P>
Такая же ошибка, что и код непосредственно в [факт], последовательность не содержит ошибки элементов. < /P>
private static ReadOnlyCollection ProgrammaticDatesList =>
AdminManageProgrammaticDatesDialog.FindElement(
By.XPath(CommonXpathStrings.adminManageProgrammaticDialogDateList))
.FindElements(By.XPath(
CommonXpathStrings.adminManageProgrammaticDialogDateListItems));
private static ReadOnlyCollection myElements = null;

#endregion
#region Methods

public static ReadOnlyCollection ReturnProgrammaticDatesList()
{
return myElements;
}

private void SetupBrowser()
{
EdgeDriver.Manage().Window.Size = new Size(1520, 1080);
EdgeDriver.Navigate().GoToUrl(CommonStrings.localhostDevRoot);
HomePageClickHereLoginAsAdmin();
Thread.Sleep(3000);
EdgeDriver.SwitchTo().Window(EdgeDriver.CurrentWindowHandle);
CommonMethods.WaitElementByIdVisibleEdge(
EdgeDriver, 3000, CommonXpathStrings.profilePageToolbarId);
ClickMenuDropDownSignedIn();
ClickMenuManageProgrammaticAsAdmin();
GetProgrammaticDateList();
}
< /code>
Спасибо за любые предложения. < /p>
=============. Как было запрошено, мы начинаем с метода getProgrammATATELIST () Полем Я создал неиспользованный метод и положил в него полные строки XPath: < /p>
private void ExpandedGetProgrammaticDateList()
{
IReadOnlyCollection ProgrammaticDatesList =
EdgeDriver.FindElement(By.Id("programmaticWindow"))
.FindElement(
By.XPath(@"div[contains(@class, 'x-window-bwrap')]
/div/div/div/div/div/div/div/div/div/div/div/div[contains(@class, 'x-grid3-viewport')]
/div[contains(@class, 'x-grid3-scroller')]
/div[contains(@class, 'x-grid3-body')]"))
.FindElements(By.XPath(@"div[contains(@class, 'x-grid3-row')]"));
}
< /code>
HTML для этого уже включен, выше. Дайте мне знать, если это сработает. Я здесь до 3:30, Est.

Подробнее здесь: https://stackoverflow.com/questions/794 ... oesnt-work

Вернуться в «C#»