2016-12-27 72 views
0

我正在编写基于Web浏览器测试的数据驱动测试的测试自动化脚本。我使用本地数据作为我的数据源。如何统计数据驱动测试的总本地数据行,然后在特定行上执行函数?

例如:本地数据表包含2行和2列用户名和密码。

我想知道是否有办法为本地数据表执行行“计数”功能。

然后,如果行数为2,则执行特定功能。

的想法是这样的:

if LocalData.Row = 2 then 
    //Execute a function 
else 
    //Close Browser 

我似乎无法找到任何资源网这一点。我只是被介绍给Telerik,所以我正在学习,我真的希望你们可以帮助给这个问题一些指点。

很多人提前致谢:)

+0

要清楚你想要什么。这个问题有点无法回避,因为我们必须承担一切。因为你是telerik的新手,或者根本就不知道如何执行特定的过程。您经常会尝试使用错误的工具。所以在预期的行为中要清楚。 –

+0

GridDataItem是你在找什么。添加一个i ++;或访问索引。我编辑了我的答案来覆盖这一点。 –

回答

1

列和行是两个不同的东西。

当通过RAD_Grid.MasterTableView.Columns访问列时。

您将能够修改列的所有属性。像:
FilterDelay,CurrentFilterFunction,ShowFilterIcon,数据字段,UniqueName,显示屏,可输出...

foreach (GridColumn column in RAD_Grid.MasterTableView.Columns) 
{ 
    if (column is GridBoundColumn) 
    { 
     GridBoundColumn boundColumn = column as GridBoundColumn; 
     boundColumn.CurrentFilterValue = string.Empty; 
    } 
} 

要通过行迭代,上了开往数据:

protected void Unnamed_DataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
{ 
    if (e.Item is GridDataItem) 
    { 
     GridDataItem item = (GridDataItem)e.Item; 
     // LOGIC 
    } 

    //Total Item Count: 
    if (e.Item is GridPagerItem) 
    { 
     int itemsCount = ((GridPagerItem)e.Item).Paging.DataSourceCount; 
    } 
} 

或者

GridItemCollection gridRows = RAD_Grid.Items; 
int i; 
foreach (GridDataItem data in gridRows) 
{  
    i++; 
    ItemClass obj = (ItemClass)data.DataItem; 
} 

由于它不是很清楚你想要什么,我会给你一个其他的方式。 在你的网格中放置一个模板化的列。我很确定这就是你要找的。如果逻辑复杂,则将其置于代码后面的功能中,并简单地:

<asp:Label ID="lbl_Exmpl" runat="server" 
    Text=' <%# MyFunction(Convert.ToInt32(Eval("Mydata"))) %>' />