所以我有一个使用光滑网格的网站。基本上当浏览器窗口最大化时,你仍然有水平滚动条(这是由用户设计)。现在在Web自动化测试中(使用selenium)我确实得到了正确的列数,但是没有滚动到右侧的selenium只给了我可见的列标题,而其他不可见的列返回空白或空字符串。我的问题是你们有类似的问题以及你是如何解决这个问题的。 到目前为止这是我的代码。但是当光滑网格没有滚动时没有加载新内容时它会返回空白。 我需要能够以某种方式向右滚动以获取所有列标题。
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 :(得分:0)
您可以使用以下SlickGrid方法:
grid.setActiveCell(0,0); // right before the for loop
然后在你的for循环中,在顶部:
grid.navigateRight();
这应该根据需要将每列放入视图中。但是你应该知道SlickGrid只渲染可见的列和行(加上一些缓冲区),因此信任DOM选择器进行测试是不明智的。特别是因为SlickGrid还将重用现有元素,并在垂直和水平滚动/分页时简单地替换内部文本。