Ich habe einen codedui Test, der Wert aus einer CSV-Datei liest. Ich verwende den folgenden Code:Codierte ui - Lesen/Schreiben von Werten aus CSV-Dateien
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\testdata.csv", "testdata#csv", DataAccessMethod.Sequential), DeploymentItem("testdata.csv"), TestMethod]
public void test()
{
String a = TestContext.DataRow["Field 1"].ToString();
}
Als Teil meiner Anforderung muss ich die Testergebnisse erfassen, z. ID generiert und schreibe es wieder in "testdata.csv".
Ich habe versucht, mit: TestContext.DataRow["IDField"] = id;
Aber es ist nicht erfolgreich.
Meine Frage ist:
- Wie wir Wert auf diese Datei während der Laufzeit schreiben?
- Wie kann man den obigen Wert in einem anderen Test lesen?
- Wenn ich Werte aus mehreren Quellen lesen muss, gibt es eine Möglichkeit, dies zu tun, weil ich in der Datenquelle nur einen Dateinamen angeben kann.
Dank
Warum müssen Sie diesen Wert erfassen? Können Sie einfach einen Fehler bestätigen, wenn der Wert nicht dem entspricht, was erwartet wird, und das Testprotokoll überprüfen? Wenn Sie versuchen, Tests miteinander zu ketten, wäre dies nicht meine Empfehlung dafür. In meinem Blog behandle ich einen Ansatz (Szenarien genannt), um Aktionen auszuführen, die für einen anderen Test erforderlich sind, um korrekt ausgeführt zu werden (z. B. Vorbedingungen wie ausstehende Aufträge einrichten usw.). http://michaelpavlakcoding.blogspot.com/2016/06/decomposing-page-objects.html – MPavlak
Vielen Dank für Ihre Antwort. Ich muss diesen Wert erfassen, da ich ihn als Teil eines End-to-End-Szenarios einem anderen Test übergeben muss. Außerdem möchte das Unternehmen die Ergebnisse in der Excel-Tabelle sehen und nicht als codierte ui-Standardausgabe. –
Es wäre nicht ratsam, die Tests auf diese Weise zu fahren. Ihre Tests sollten unabhängig voneinander ablaufen können. Wenn Sie dazu in der Lage sind, kann Microsoft Test Manager eine bessere Berichterstattung darüber ausgeben, was passiert und nicht erfolgreich ist. – MPavlak