使用编码的UI测试生成器生成代码。选择这种方式后,就会显示显示编码的UI测
试生成器:
[attach]111347[/attach]
点击“开始录制”图标,就会开始录制我们的操作,再点击“生成代码”图标就
会在测试项目中生成代码,然后再在其基础上修改成我们想要的测试代码。
l 使用现有的操作录制。
这种方式是我们在执行测试用例的时候选择了创建操作录制。这样才能在使用
这种方式的时候选择执行测试用例时创建的录制。
[attach]111348[/attach]
使用录制的代码,速度不一定快,一般录制的都不能直接使用,需要修改,而且
代码量相对也多一点。修改别人的代码确实很头疼,当然也有我对C#的应用、v
s提供测试API不熟的缘故,总之我要实现读取外部文件中的用户名和密码,自
动登录,并且验证登录是否成功这个需求,使用录制的不是这里有问题就是那
里有问题。例如vs录制的时候对密码加密了,因此在给密码赋值的时候要使用
Playback.EncryptText()对密码加密才能登录,在验证登录结果的时候始终使用
的是录制的验证,反之就是有问题。汗,自己写就什么问题都好解决。
l 使用自己写的代码创建自动化测试
目标:要实现打开浏览器,输入登录地址,从外部数据源中读取用户名和密码
登录系统,最后验证是否登录成功。
在实现之前,我们需要先学习一些基础知识。
首先来了解下如何实现数据驱动的自动化测试,说白了就是参数化测试数据,
微软美其名曰“数据驱动”。
1、 添加数据源。
在测试视图窗口中选择测试方法,在右键菜单中选择“属性”,然后找到
“数据连接字符串”项,单击浏览,可以看到vs为我们提供了三种数据源
方式。如图:
[attach]111349[/attach]
我选择csv格式的。数据如下:
[attach]111350[/attach]
选用其他数据源是一样的道理。
2、 读取数据源中的数据。
很简单,例如取用户名,使用TestContext.DataRow["用户名"].ToString ()即可。
执行测试的时候会自动迭代表中的数据。
其次,我们写编码的UI测试很多时候是找到UI对象,然后对其进行操作。那么如那
么怎么才能知道用什么特征去识别对象呢?
一)我们可以使用vs的CodedUITestBuilder
[attach]111351[/attach]
将中间那个高亮图标拖动到对象上,生成器属性框中就显示对象的一些属性,一
看Id就知道可以唯一识别对象的,因此这样就可以找到用户名输入框:
HtmlEdit usernameInput = new HtmlEdit(browser);
usernameInput.SearchProperties[HtmlEdit.PropertyNames.Id] = "TxtUser
Name";
有时候单靠一个属性识别不了对象,可以多个属性组合,也可以通过寻找合适的
参照物,再识别对象。例如:
HtmlSpan resultSpan = new HtmlSpan(browser);
resultSpan.FilterProperties[HtmlSpan.PropertyNames.Class] = "use
r_header_photo";
HtmlHyperlink resultLink = new HtmlHyperlink(resultSpan);
resultLink.FilterProperties[HtmlHyperlink.PropertyNames.Class] = "r
ank";
二)查看源代码,使用辅助工具人工分析。例如,可以在firefox下使用view sou
rce chart插件。View source chart对整个页面分层显示了,可以很方便的查看页
面元素。
[attach]111352[/attach]
前期准备做好了,我们就可以编写代码了,代码如下:
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |