什么是Coded UI?
最近我一直在寻找一个自动化的用户接口测试的解决方案。用户接口测试需要用户多次进行手工输入操作,这是一个既枯燥又费时的过程。因此,我想寻找一种更智能的自动化UI测试的方案,这种UI测试在不需要人工干预下,能够被保存,记录并提供支持 ,快速测试代码的改变。
Coded UI 采用用户接口来驱动应用的进行自动化测试。这些测试包括UI控制的功能性测试。他们使你可以验证整个应用的功能是否正确,其中包括了用户接口。Coded UI尤其适合用于用户接口中存在校验或者其它的登录方式的测试,比如网页。Coded UI也可以用于人工测试用例的自动化。
Coded UI 测试帮助用户测试应用程序的用户接口。这些测试允许用户验证应用程序的功能。Coded UI 多数时间用于帮助验证在UI层本身的有效逻辑。它能够验证值对用户接口的控制的正确性。
其它方案
市场有许多自动化用户接口的方案,比如HP的QuickTest Professional, IBM Rational Functional Tester. 其它著名的,易于使用的开源工具解决用户接口自动化问题的有Selenium,也能够记录测试,需要的时候回放。市场上还有来自Microsoft的也能不需要太多努力做同样的事。用Visual Studio Microsoft还有Coded UI的方案用于单元测试。
Coded UI 测试的组成
Coded UI 测试的组成容易理解。它可分成下列文件:
UIMap.uitest
这个文件是UIMap类的XML表示。UIMap类包括视窗,控件,属性,方法,断言和动作。
UIMap.cs
对UIMap的自定义部分都存在这文件里。如果修改直接存在UIMap.designer.vb文件的话,那些修改都会在记录结束后丢失,因为这个文件重新创建了。
给每个在测应用程序中的每个模块创建一个独立的UIMap文件。
UIMap.Designer.cs
这是部分类表达各种类。这各种类是给多样的控件和他们的范围,属性,方法的类。
提示:不要直接修改 UIMap.Designer.cs。加入你这样做,这个修改会被覆盖掉。
CodedUITest.cs
这类表示的实际的CodeUI测试类,方法调用,和断言调用,所有的方法和断言默认都是从UIMap.Designer.cs文件调用的。这类有具有【codedUITest]属性TestClass和包含具有【TestMethod]属性的多种方法。
进行用户界面测试的同时进行校验.
生成VB.Net/C#代码.
测试用例可以被记录和重放.
集成了ALM Story
能够作为每日构建的一部分来运行.
根据需要进行高级扩展.
和Visual Studio集成在一起,所以无需单独购买许可.
Coded UI对Web和Windows应用同样适用.
著名的Microsoft支持.
Coded UI测试可以用下列方式创建
使用MTM进行快速自动构建
从现有的记录(从手动测试中记录下来的操作)中创建Coded UI
在Coded UI Test Builder创建的底稿的基础上创建一个新的Coded UI测试.
自己写Coded UI.
这个白皮书的范围仅限于“在Coded UI Test Builder创建的底稿之上创建一个新的Coded UI测试”。
小贴士: 尽量使用Coded UI Test Builder。
每一个Coded UI测试的生成都需要遵从下列步骤.
记录/停止/暂停
编辑记录下来的步骤
添加断言
生成代码
要开始使用Coded UI,首先我们需要创建一个测试项目,用来保存所有Coded UI测试。创建一个新的Coded UI项目包含下列步骤
打开Visual Studio 2012
选择 File > New > Project
选择需要的语言模板 (C# or VB.Net). 我们选择了C#.
选择Coded UI Project
输入一个名字
点击 OK 按钮
Visual Studio默认配置为创建Coded UI 测试使用 "Generate a new Coded UI Test from scratch using Coded UI Test Builder"
提示:在测试的应用程序中,当你创建UI控件时尽量使用有意义的名称,从而对于自动生成的控件显得更加有意义和可用。
一旦 Coded UI 测试工程创建完成,将会自动打开生成Coded UI 测试代码的对话框,请给出以下选项的设置。
记录操作,编辑UI地图或添加断言
使用一个已经存在的操作记录
默认情况下 选择记录操作,编辑UI地图或添加断言,无需做任何操作,然后点击 "ok"
选择了上述选项后,Coded UI Test Builder就会被打开,同时Visual Studio窗口被最小化。这意味着我们已经为记录操作做好了准备。
正如之前描述的,Coded UI Test Builder基于下列4个操作来做记录
Record Steps
Update or Delete Steps
Verify Results (Add Assertions)
Generate Code
小贴士: 如果用户界面(UI)变化了,就重新记录测试方法或断言方法,或者重新记录一个既有测试方法中受影响的部分。
Start Recording, 通过选择Record按钮即可.
Pause Recording, 用来处理记录过程中的其它操作,即Generate Code.
Edit/Delete 操作, 以防错误的操作被记录。
Generate code为记录下来的操作创建编号。会给每一个记录下来的操作都生成编号。
Add Assertions 用来校验结果。
小贴士: 创建断言最好使用Coded UI Test Builder,因为它会在UIMap.Designer.cs文件中自动添加一个断言方法。
为记录动作做计划
任何事情的成功都取决于它计划得有多好。较好地计划最大限度保证了任务成功完成。这样总是比较好,在开始记录动作之前,我们计划好所有的所有要计划的步骤。
这里我们将要使用应用程序Windows计算器来记录步骤。我们要自动地加和减两个数字。在记录加和减两个数字的时候,下面的步骤将会用到。
。点击“开始记录”控件
。到开始,点击执行
。在执行窗口,输入”calc"
。停止记录,看记录的步骤
。删除错误的步骤(存在的话)
。产生代码;提供和动作相匹配的名字。比如,打开计算器。
提示:当你产生一个方法时候,使用一个有意义的方法的名字,代替默认名字。
有意义的名字帮助识别方法的木的。
。重新记录,提供第一个数字,暂停记录产生代码
。重新记录,提供操作(加或者减),暂停记录,产生代码
。重新记录,提供第二个数字,暂停记录,产生代码。
。加断言
提示: 产生你的测试作为一系列记录的方法
提示: 可以的时候,限制每个方法小于10个动作。这模块化的方法让UI改变时候容易替换方法。
评论删除后,数据将无法恢复
评论(5)
有中文,非要看英文,觉得英文很好吗? 逗逼啊