编码的用户界面 - 如何拥有可配置的网址?

时间:2016-12-02 21:54:58

标签: visual-studio-2015 coded-ui-tests

我创建了简单的编码UI测试,其中我执行以下操作:

  1. 打开浏览器
  2. 转到网址
  3. 单击超链接(webapp域中的链接)。
  4. 生成UIMapping后,我看到一堆自动生成的映射代码。在UIMapping文件(类)中,我看到的URL基本上是硬编码的。

    示例:

    this.FilterProperties[HtmlDocument.PropertyNames.PageUrl] = "http://mytesturl:8000";
    this.mUIItem50006598Hyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Href] = "http://mytesturl:8000/link"
    

    如何使我的自动UI测试可配置,以便我可以针对不同的环境(开发,测试,产品等)运行相同的测试?

1 个答案:

答案 0 :(得分:1)

正如阿德里安所说,这是一个经常重复的问题,没有明确的答案。您可以在我的方法HERE上找到一些信息。

简短的说法是,如果您依赖CodedUI映射功能,除非您的测试方法,否则您将无法动态配置环境:

  • 调用辅助方法导航到基本URL,而基本URL又取决于某种数据驱动配置(XML / app.config文件,CSV,电子表格)。您可以在上面的链接中找到有关如何在我的问题上执行此操作的信息。
  • 调用映射器生成的方法。创建时,请务必假设您只是从基本URL导航,而不是打开浏览器等。

所以你的代码看起来像是:

[TestMethod]
public static void GenericTestMethod() {
    //get browserWindow from your test setup method etc.
    GoToEnvironmentBaseUrl(browserWindow);
    MapperGeneratedCodedUiMethod();
    AssertStuff();
}

public static void GoToEnvironmentBaseUrl(BrowserWindow browserWindow) {
    browserWindow.NavigateToUrl(new Uri("http://www."
            + ConfigurationManager.AppSettings.Get("EnvironmentURLMod")
            + ".com"));
}