2

这似乎是我遇到的一个棘手的问题。但是您是否知道为了 CodedUI 测试而区分浏览器窗口和浏览器选项卡的方法。我将如何实现这一点?

4

1 回答 1

0

如果我理解正确,您的目标是确定您已加载/启动的页面是选项卡还是在新的浏览器窗口中启动。已同意选项卡式浏览器窗口与独立浏览器窗口无法区分。我有一个解决方案给你——诚然,它不是非常优雅,但它应该可以解决问题。

重要提示:您可以使用 Ctrl+Tab 和 Ctrl+Shift+Tab 在选项卡式窗口之间切换。

  1. 启动相关页面
  2. 开始您的 coded-ui 录制
  3. 如果您的页面是选项卡,请按 Ctrl+Shift+Tab,这将带您到父页面,或您使用选项卡的任何其他页面。
  4. 创建一个断言以验证您是否在该页面上。
  5. 按 Ctrl+Tab,现在您应该回到您正在测试的新页面。
  6. 创建一个断言以验证您是否在该新页面上。
  7. 如果这些断言通过,你就知道你有一个标签页;如果您的页面在独立浏览器中加载,则 Ctrl+Tab/Ctrl+Shift+Tab 不会执行任何操作,并且您的断言将失败。

它看起来像这样:

    [TestMethod]
    public void CodedUITestMethod1()
    {
        //This takes you to the parent tab
        this.UIMap.CtrlShiftTab();
        //Assertion to confirm you're on the parent page
        this.UIMap.AssertParentPage();

        //This takes you to the new tab
        this.UIMap.CtrlTab();
        //Assertion to confirm you're on the new page
        this.UIMap.AssertNewPage();
    }

它应该可以解决问题。祝你好运,如果你找到了另一种方法来获得你的结果,请告诉我们!

编辑:您还可以使用 Ctrl+Number 在选项卡之间切换。因此 Ctrl+1 将您带到第一个选项卡,Ctrl+2 将您带到第二个选项卡,依此类推。

于 2013-09-06T13:19:49.687 回答