我们在各种自定义屏幕上有多个操作,可以创建实体然后重定向到它们。我似乎无法弄清楚如何捕获创建的新实体是什么,并在测试sdk中调用操作时对其执行任何操作。
测试框架是否能够在长时间运行的操作中处理重定向?如果是这样,你如何处理它们?是否可以捕获创建的新对象?我能够验证长时间运行的操作是否成功或是否有错误,但是由于页面重定向并且不再在UI中,因此无法尝试访问操作。正如您在屏幕截图中看到的那样,我推送CreateJob操作,然后启动一个长时间运行的操作,最终重定向到创建的作业。
#region Step 1: Create Base Quote
using (TestExecution.CreateTestCaseGroup("Step 1: Create Base Quote"))
{
Quote quote = new Quote();
quote.OpenScreen(true);
quote.Insert();
quote.Summary.BAccountID.Select("0000467");
quote.Summary.OpportunityName.Type("UAT Test");
quote.Products.New();
quote.Products.Row.InventoryID.Select("P46");
quote.Products.Row.Quantity.Type(5000);
quote.Products.Row.CuryUnitPrice.Type(0.03);
quote.Save();
quote.CreateJob();
quote.VerifyLongOperation(quote.CreateJob, true);
}
#endregion
答案 0 :(得分:0)
以下是我认为与您的问题有关的SDK中的一些代码。如果将正确的WaitAction添加到扩展构造函数中的流程中,那么完成后,您应该能够使用正确的对象。
public JournalEntry()
{
Details.ToolBar.ViewDocument.WaitAction = delegate
{
Wait.WaitForNewWindowToOpen();
Wait.WaitForPageToLoad();
}
}
...
JournalEntry JournalEntry = new JournalEntry();
JournalEntry.OpenScreen();
JournalEntry.Summary.Module.Select("AP");
JournalEntry.Last();
JournalEntry.Details.ViewDocument();
Bill Bill = new Bill();
Bill.Cancel();
Bill.CloseWindow();