没有Uimap的编码ui

时间:2015-01-28 08:53:22

标签: coded-ui-tests

我是codedUI的新手。我需要知道如何在CodedUI中编写描述性代码。

Coded UI Testing Without UIMAP

在上面的链接中,我尝试了代码,但遇到了一些错误,其中包括:

类型或命名空间名称' WinWindow'找不到(你错过了使用指令或汇编引用吗?)

我得到了所有Windows控件的上述错误,例如winWindow,winButton& winText。另外,我得到的另一个错误是:

另一个错误是:

' Microsoft.VisualStudio.TestTools.UITesting.ApplicationUnderTest'不包含' SearchFor'的定义没有扩展方法' SearchFor'接受类型' Microsoft.VisualStudio.TestTools.UITesting.ApplicationUnderTest'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)

此外,在上面提到的链接中,' CodedUIExtension File是什么意思 &#39 ;.在我的项目中何处使用该代码?

感谢任何帮助。提前谢谢。

问候,Mano

1 个答案:

答案 0 :(得分:0)

如果您使用与另一个问题上的用户相同的方法(使用SearchFor()方法),那么您似乎意味着使用不同的框架。在Coded UI中,指定控件的SearchProperties。例如:

public HtmlInput MyInputField()
{
    HtmlInput target = new HtmlInput([parent object]);
    target.SearchProperties["id"] = "1";
    // or
    target.SearchProperties.Add(HtmlInput.PropertyNames.Id, "1");
    return target;
}

SearchProperties是一个键/值对,特定于您正在使用的控件类型。此外,您必须确保将要测试的应用程序指定为父应用程序(其他用户在分配calWindow = app.SearchFor<blah>([some parameters])时执行的操作。

如果你真的想在不使用UIMap类的情况下创建测试(这意味着你不能只记录),我仍然建议使用Page Object模型来组织你的测试架构。 Martin Fowler在这里写了一篇很棒的文章。基本上,将您的解决方案分成测试类,然后将包含您将要与之交互的对象的定义的页面对象类分开。这样,当您需要更改控件的搜索属性时,您只需要执行一次而不是每次引用它的测试。