2016-12-27 1 views
0

Ich schreibe Testautomatisierung Skripts, die auf Data Driven Tests für Web-Browser-Test basiert. Ich verwende lokale Daten als meine Datenquelle.Wie zählen Sie die Gesamtzahl der lokalen Datenzeilen für datengesteuerte Tests und führen Sie dann eine Funktion für eine bestimmte Zeile aus?

ZB: Lokale Datentabelle enthält 2 Zeilen und 2 Spalten für Benutzername und Passwort.

Ich frage mich, gibt es eine Möglichkeit, eine Zeile "Count" -Funktion für die lokale Datentabelle durchzuführen.

Und dann, wenn die Anzahl der Zeilen zwei ist, führen Sie eine bestimmte Funktion aus.

Die Idee ist so etwas wie dieses:

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

Ich kann nicht dafür alle Ressourcen im Netz zu finden scheinen. Ich werde nur Telerik vorgestellt, also lerne ich, wie es geht und ich hoffe wirklich, dass ihr mir helfen könnt, ein paar Hinweise zu dieser Frage zu geben.

Vielen vielen Dank im Voraus :)

+0

Seien Sie klar, was Sie wollen. Diese Frage ist ein bisschen nicht zu beantworten, weil wir alles voraussetzen müssen. Weil du neu in Telerik bist oder einfach nicht weißt, wie man einen bestimmten Prozess macht. Sie werden oft versuchen, das falsche Werkzeug zu benutzen. Sei also im erwarteten Verhalten klar. –

+0

GridDataItem Ist, was Sie suchen. Fügen Sie ein i ++ hinzu; oder auf den Index zugreifen. Ich habe meine Antwort bearbeitet, um das zu behandeln. –

Antwort

1

Spalte und Zeile sind zwei verschiedene Dinge.

Beim Zugriff auf die Spalte durch die RAD_Grid.MasterTableView.Columns.

Sie können alle Eigenschaften einer Spalte ändern. Wie:
FilterDelay, CurrentFilterFunction, ShowFilterIcon, Datafield, Unique, Display, Exportierbare ...

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

iterieren durch die Reihe, auf die Daten gebunden:

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; 
    } 
} 

Oder

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

Da es nicht wirklich klar ist, was Sie wollen, werde ich Ihnen einen anderen Weg geben. Platzieren Sie in Ihrem Raster eine Templatesäule. Ich bin mir ziemlich sicher, dass Sie das suchen. Und wenn die Logik komplex ist, setzen Sie es in eine Funktion in Code hinter und einfach:

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