我是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
答案 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在这里写了一篇很棒的文章。基本上,将您的解决方案分成测试类,然后将包含您将要与之交互的对象的定义的页面对象类分开。这样,当您需要更改控件的搜索属性时,您只需要执行一次而不是每次引用它的测试。