我的要求:我想知道我当前在哪个页面,以便如果任何测试失败,我想将当前页面的URL传递给方法并获得主页按钮链接。如有任何异常,最终导航到主页链接。
有没有办法实现它?
答案 0 :(得分:1)
网址应位于浏览器的地址栏中,只需将其读出即可。
读取值的一种方法是在地址栏中记录值的断言,然后复制记录的断言方法中访问该值的部分代码。
另一种方法是使用十字线工具选择地址区域,然后(单击双V形图标以打开左侧窗格)并添加所选区域的UI控件。然后访问该值。
答案 1 :(得分:0)
这将返回顶级浏览器:
BrowserWindow bw = null;
try
{
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
var browser = new BrowserWindow() /*{ TechnologyName = "MSAA" }*/;
PropertyExpressionCollection f = new PropertyExpressionCollection();
f.Add("TechnologyName", "MSAA");
f.Add("ClassName", "IEFrame");
f.Add("ControlType", "Window");
browser.SearchProperties.AddRange(f);
UITestControlCollection coll = browser.FindMatchingControls();
// get top of browser stack
foreach (BrowserWindow win in coll)
{
bw = win;
break;
}
String url = bw.Uri.ToString(); //this is the value you want to save
}
catch (Exception e)
{
throw new Exception("Exception getting active (top) browser: - ------" + e.Message);
}
finally
{
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
}