2013-09-20 4 views
0

У меня есть веб-сайт, который использует пятно сетки. в основном, когда окно браузера максимизировано, у вас все еще есть горизонтальная полоса прокрутки (это по дизайну пользователя). Теперь в тесте веб-автоматизации (с использованием селена) я получаю общее количество столбцов правильно, но без прокрутки в правый селен только дает мне заголовки столбцов, которые видны, а другие столбцы, которые не видны, возвращают пустую или пустую строку. Мой вопрос к вам, ребята, у вас возникла аналогичная проблема и как вы справились с этой проблемой. Это мой код. Но он возвращается пустым, когда пятна сетки не загрузили новое содержимое без прокрутки. Мне нужно как-то прокрутить направо, чтобы получить все заголовки столбцов.Как прокручивать по горизонтали сетку с использованием селена?

int GetColumnIndexByName(string columnName) 
{ 
    VerifyComponentLoaded(); 
    var colHeaders = Driver.FindElements(By.XPath("somepath")); 
    for (int i = 0; i < colHeaders.Count; i++) 
    { 
     if (colHeaders.ElementAt(i).Text == columnName) 
      return i;      
    } 
    Assert.Fail("The columnName {0} was not found.", columnName); 
} 

ответ

0

Вы можете использовать следующие методы SlickGrid:

grid.setActiveCell(0,0); // right before the for loop 

Тогда внутри вашего для петли, справа вверху:

grid.navigateRight(); 

Это должно привести каждый столбец в поле зрения, как это необходимо. Но вы должны знать, что SlickGrid отображает только видимые столбцы и строки (плюс некоторый буфер), поэтому нецелесообразно доверять DOM-селекторам для тестирования. Тем более что SlickGrid также будет повторно использовать существующие элементы и просто заменить внутренний текст при прокрутке/разбиении на страницы по вертикали и по горизонтали.

+0

Можете ли вы объяснить мне, что вы подразумеваете под методами slickgrid? Есть ли библиотека для slick grid для работы в C#? – DoodleKana

+0

@ DoodleKana, о котором я не знаю, выше - это javascript, который вам нужно будет выполнить на странице. См. Здесь пример того, как это сделать: http://stackoverflow.com/a/6285793/1397319 – idbehold

+0

Благодарим вас за ответ. Да, я знаю об этом js-исполнителе в C#. Когда я выполняю над jscript, я получаю «неизвестную ошибку: сетка не определена». – DoodleKana

Смежные вопросы