Ich habe ein WFP-Fenster, das eine Liste zeigt. Die Liste hat Paging, also wenn es eine lange Liste ist, kann ich auf Weiter klicken und die Zeilen auf Seite 2, 3, 4 usw. betrachten.Kann ich eine Bestätigung zum Aktualisieren erzwingen?
Ich habe eine Assert, die das Datum, das in jeder Zeile angezeigt wird, bestätigt. Zuerst aktiviere ich das Datum in der ersten Zeile auf der ersten Seite (was OK funktioniert), dann setze ich das Datum in der ersten Zeile von Seite 2 ein. Die Probleme beginnen, wenn ich die erste Zeile von Seite 2 aktiviere Zeile auf Seite 1. Mein Pseudo-Code ist ...
// Assert Datum auf Seite 1 Zeile 1 ist gültig/* WORKS OK */
// Klicken Sie auf Weiter auf Seite 2./*WORKS bewegen OK */
// assert Datum auf Seite 2 Zeile 1 ist gültig/* PROBLEM HIER */
aus Neugier, änderte ich meine Prüfung, Entfernen des ersten assert und bemerkte, dass die Assertion von Seite 2, Reihe 1 Arbeits ... begann Next
// Klicken Sie auf Seite zu bewegen 2./* OK */
// Assert Datum auf Seite 2 Zeile WORKS 1 ist gültig/* OK */
WORKS Der Code ist also korrekt und kann Seite 2, Zeile 1, aber nur einmal korrekt bestätigen. Bei dem zweiten Assert bleibt das Ergebnis von dem ersten Assert erhalten. Beide Asserts wurden erstellt, indem sie aufgezeichnet wurden. Wenn ich das zweite Assert aufzeichne, verwendet es dieselbe Eigenschaft, die es für das erste Assert verwendet hat. Die Eigenschaft ist schreibgeschützt, daher kann ich keine Möglichkeit finden, sie zu löschen.
Ich möchte beide Behauptungen ordnungsgemäß funktionieren, meine grundlegende Frage ist, wie behaupte ich mehrere Male in der gleichen Liste und bekomme den aktuellen Wert jedes Mal? Ich denke, die Antwort wird kommen, wenn ich herausfinde, wie man die zweite Assert aufzeichnet und entweder die aufgezeichnete Assertion dazu zwingt, nicht dieselbe Eigenschaft zu verwenden, die sie für die erste Assert verwendet hat. Oder es könnte eine Möglichkeit geben, den alten Wert vor my zu spülen zweite Behauptung.
public void Assert_Alerts_TimestampOfTopRowValid_Page1()
{
#region Variable Declarations
WpfText uIItem04012017153411Text = this.UIOptimalMyClientShWindow.UIItemCustom1.UIItemCustom11.UIItem04012017153411Text;
#endregion
// Verify that the 'DisplayText' property is not null
Assert.IsNotNull(uIItem04012017153411Text.DisplayText, "Can\'t assert the timestamp of first alert");
}
public void Assert_Alerts_TimestampOfTopRowValid_Page2()
{
#region Variable Declarations
WpfText uIItem04012017153411Text = UIItem04012017153411Text;
\\I AM CONCERNED ABOUT WHY THIS IS RECORDED
\\WITH THE SAME VARIABLE AS THE LAST ASSERT.
\\HOW CAN I FLUSH THE VALUE OF THE VARIABLE
\\AND MAKE THE CODED UI TEST ASSERT IT AGAIN
\\OR RECORD WITH A DIFFERENT VARIABLE?
#endregion
// Verify that the 'DisplayText' property is not null
Assert.IsNotNull(uIItem04012017153411Text.DisplayText, "Alert Timestamp on page 2 not valid.");
}
Mein Eigentum ist ...
private WpfText mUIItem04012017153411Text;
public WpfText UIItem04012017153411Text
{
get
{
if ((this.mUIItem04012017153411Text == null))
{
this.mUIItem04012017153411Text = new WpfText(this);
#region Search Criteria
this.mUIItem04012017153411Text.SearchProperties[WpfText.PropertyNames.AutomationId] = "TxtBlockAutoID10";
this.mUIItem04012017153411Text.WindowTitles.Add("MyApp");
#endregion
}
return this.mUIItem04012017153411Text;
}
}
Dies funktionierte perfekt, gut gemacht, um einem Neuling zu helfen! – Ewan