목록이있는 wfp 창이 있습니다. 목록에 페이징이 있으므로 긴 목록 인 경우 다음을 클릭하여 2, 3, 4 페이지의 행을 볼 수 있습니다.강제로 어설 션을 새로 고칠 수 있습니까?
각 행에 표시된 날짜를 나타내는 Assert가 있습니다. 먼저 첫 번째 페이지의 첫 번째 행에 날짜를 표시하고 (이는 정상적으로 작동 함) 페이지 2의 첫 번째 행에 날짜를 표시합니다. 문제는 페이지 2의 첫 번째 행을 표시 할 때 시작됩니다. 보기 페이지에서 1. 내 의사 코드는에 행 ... 페이지 1 행에
// 어설 일 1 유효/* WORKS OK */
// 페이지 2./*WORKS로 이동하려면 다음을 클릭합니다 OK */
// 1/* 문제는 */호기심에서
, 나는 내 테스트를 변경 첫 어설를 제거하고 발견 여기 유효 페이지 2 행에 어설 일 해당 페이지 2의 어설, 행 1 // 페이지로 이동하려면 다음을 클릭 작업을 시작 2./* 페이지 2 행에 OK */// 어설 날짜를 WORKS 1/*하면 OK */
일들 유효 따라서 코드는 정확하며 페이지 2, 행 1을 어설 션 할 수 있지만 한 번만 올바르게 어설트 할 수 있습니다. 두 번째 주장에서, 그것은 첫 번째 주장의 결과를 고수하고있다. 두 어설 션은 녹음하여 만들어졌습니다. 두 번째 어설 션을 기록 할 때 첫 번째 어설 션에서 사용한 것과 동일한 특성을 사용합니다. 속성은 읽기 전용이므로 플러시 할 방법을 찾을 수 없습니다.
두 주장이 모두 제대로 작동하기를 원한다. 나의 기본적인 질문은 같은 목록에서 여러 번 주장하고 매번 최신 값을 얻는 방법이다. 나는 두 번째 assert를 기록하는 방법을 연구하고 첫 번째 assert에 사용 된 것과 동일한 속성을 사용하지 않도록 기록 된 assert를 강제 실행하거나 이전에 이전 값을 플러시하는 방법이있을 때 대답이 올 것이라고 생각합니다. 두 번째 주장. 내 재산은
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.");
}
...
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;
}
}
새내기를 돕기 위해 완벽하게 작동했습니다. – Ewan