2016-12-27 76 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"))) %>' />