概述
前段时间开始了QTP学习生涯,首先是熟悉了QTP工具的使用及组成部分的介绍,没有按照书上写的例子来,而是使用工作中真实的例子一步步摸索,熟悉的过程已过去一段时间了,由于比较忙暂停了,今天以脑海中的记忆重新开始,主要研究的是参数化后如何循环运行和下拉列表取值。其实掌握之后才发现很简单,然而自己走了很多弯路,以至于一
天下来就学会了这两点:
录制的流程是:登录-新增教师名单-退出,这三个事件分别放在不同的ACTION里面,即login,addteachers,logout,我使用的DATA TABLE对教师信息进行参数化的,工号不能重复,性别和职务都是从下拉列表中随机取值,logint logout不需要循环,仅addteachers循环,其实很简单,只需选中addteachers点击鼠标右键选择action call properties - run 中有几个选项:
run one iteration only:是指仅运行一次迭代,也就是说,即使Data table 中有多条测试数据,也仅执行一次。
run on all rows:是指按数据表格中的所有数据都运行一次
run from row...to row...:可根据自己需要设置运行的测试数据范围
起初我本想写个for循环的,但怎么也不行,问题就出在这些参数不是全局的,而是在addteachers这个Action里,所以每次循环时要么就是从登录开始,要么就是获不到这个参数值。还是把我先写的for循环语句写出来吧,如果有知道的朋友请指正,我是在addterachers里写的,如下:
dim currRow
currROW=DataTable.GetCurrentRow 获得当前行赋给currRow作为初始值
for i=currRow to datatable.GetRowCount -1 (datatable.GetRowCount是获得总行数,因为起止行是从0开始,所以减去1,后面有个Step 1 ,默认是1)
DataTable.setCurrentRow(i) (然后再将i的值赋给currRow)
statements..... 执行脚本
next
也有可能是我的循环语句写错了,反正没成功,也不知道使用这两种方法有何区别,哪种效率高?
下面再介绍如何获得下拉框的值
Browser("").Page("").Frame("mainFrame").WebList("select").Select RandomNumber(0, 1)随机取下拉框中的值
Browser ("").Page("").Frame("mainFrame").WebList("select").GetROProperty("items count")(这一句是获得下拉框的值数量)
Browser("").Page("").Sync
下面这段是我在网上搜的
'i = Browser ("").Page("").Frame("mainFrame").WebList("select").GetROProperty("items count")
'row = i-1
'For j=0 to row
Browser("").Page("").Frame("mainFrame").WebList("select").Select RandomNumber(0, 1)' "#"& j
Browser("").Page("").Sync
最后
以上就是帅气苗条为你收集整理的QTP学习笔记 之 DataTable参数化循环的全部内容,希望文章能够帮你解决QTP学习笔记 之 DataTable参数化循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复