我创建了简单的编码UI测试,其中我执行以下操作:
生成UIMapping后,我看到一堆自动生成的映射代码。在UIMapping文件(类)中,我看到的URL基本上是硬编码的。
示例:
this.FilterProperties[HtmlDocument.PropertyNames.PageUrl] = "http://mytesturl:8000";
this.mUIItem50006598Hyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Href] = "http://mytesturl:8000/link"
如何使我的自动UI测试可配置,以便我可以针对不同的环境(开发,测试,产品等)运行相同的测试?
答案 0 :(得分:1)
正如阿德里安所说,这是一个经常重复的问题,没有明确的答案。您可以在我的方法HERE上找到一些信息。
简短的说法是,如果您依赖CodedUI映射功能,除非您的测试方法,否则您将无法动态配置环境:
所以你的代码看起来像是:
[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"));
}