QTP函数练习--数组作为参数

QTP使用教程 QTP使用教程,介绍,简介,基本操作 阅读详情

QTP函数练习--数组作为参数


 


''''使用范例
Set obj=Browser("name:=用户服务网登录").Page("title:=用户服务网登录")
msgbox Omni(obj,"WebEdit-html id-passport","-","default value")
执行结果:用户名/手机号/身份证

Omni "obj,"WebEdit-html id-passport-shmily","-",""
执行结果:用户名输入框中输入shmily成功

''''**************************************
函数功能:
根据参数内容执行相关的操作
1.如给WebEdit输入一个值,则strProperty为"WebEdit-html id-username-shmily"
函数使用方法为:Omni "obj,"WebEdit-html id-username-shmily","-",""
2.如需要选择WebList下的某一项("test"),则strProperty为"WebList-html id-type-test"
函数的使用方法:Omni "obj,"WebList-html id-type-test","-",""
3.如需要点击某个WebButton,则strProperty为"WebButton-name-确定"
函数的使用方法:Omni "obj,"WebButton-name-确定","-",""
4.如需要获取某个WebElement的Innertext,则strProperty为"WebElement-html id-content"
函数使用方法为:va=Omni(obj,"WebElement-html id-content","-","Innertext")
va即为所需要的属性值。


Function Omni(upperObj,strProperty,separator,getProperty)
   ''''*********************************************************************
   ''''upperObj为控件的上层对象,如Browser(xxx).Page(xxx).Frame(xxx)等
   ''''strproperty为控件类型,属性和属性值的连接字符串,eg:WebEdit-html id-engine-name-发动机等 
   ''''separator为属性值的分隔符,如上面采用的即是"-"
   ''''getProperty为期望获取的控件属性名称,如:name,此项如果为空,则判断不需要返回属性值
   ''''**********************************************************************
   Dim arrPropertys,i        ''''strProperty分割后的字符串数组
   Dim typesDesc            ''''虚拟对象-用来保存不同类型的控件属性和属性值

   ''''使用Description来存储输入的strProperty来赋值
   Set typesDesc=Description.Create()          

    If InStr(strProperty,separator)=0 Then                    ''''如果分隔符的数目为0,则判断属性(值)格式错误
       Msgbox "分隔符不正确或者缺少属性(值),请检查strProperty的内容"

    Else
        arrPropertys=Split(strProperty,separator)

        If UBound(arrPropertys) mod 2<>0 Then        ''''如果UBound()为奇数,则结构为:type+property+propertyValue+set(select)Value
            ''''循环给控件传进属性和属性值
            For i=1 to UBound(arrPropertys)-2 Step 2
                typesDesc(arrPropertys(i)).Value=arrPropertys(i+1)
            Next
            ''''暂时只考虑了WebEdit和WebList,后续补充
            Select Case LCase(arrPropertys(0))
                Case "webedit"
                    upperObj.WebEdit(typesDesc).Object.Value=arrPropertys(UBound(arrPropertys))            
                Case "weblist"
                    upperObj.WebList(typesDesc).Select arrPropertys(UBound(arrPropertys))
            End Select

        Else                                                ''''如果UBound()为偶数,则结构为:type+property+propertyValue
            ''''循环给控件传进属性和属性值
            For i=1 to UBound(arrPropertys)-1 Step 2
                typesDesc(arrPropertys(i)).Value=arrPropertys(i+1)
            Next
            ''''暂时只考虑了Link,WebButton,WebEdit,WebElement,WebList,后续补充
            If Len(getProperty)=0 Then
                Select Case LCase(arrPropertys(0))
                    Case "link"
                        upperObj.Link(typesDesc).Click
                    Case "webbutton"
                        upperObj.WebButton(typesDesc).Click
                    Case "webelement"
                        upperObj.WebElement(typesDesc).Click
                End Select
            Else
                Select Case LCase(arrPropertys(0))
                    Case "link"
                        Omni=upperObj.Link(typesDesc).GetROProperty(getProperty)
                    Case "webedit"
                        Omni=upperObj.WebEdit(typesDesc).GetROProperty(getProperty)
                    Case "weblist"
                        Omni=upperObj.WebList(typesDesc).GetROProperty(getProperty)
                    Case "webbutton"
                        Omni=upperObj.WebButton(typesDesc).GetROProperty(getProperty)
                    Case "webelement"
                        Omni=upperObj.WebElement(typesDesc).GetROProperty(getProperty)
                End Select
            End If

        End If

   End If

   Set arrPropertys=Nothing
   Set typesDesc=Nothing
   Set i=Nothing
End Function


QTP自动化测试入门 一、自动化测试概述 自动化测试是手工测试的补充 功能类自动化测试工具的主要应用领域:回归测试阶段 1、软件自动化产生原因 (1)工作量大 (2)包含了大量的复杂操作 (3)大部分工作为非智力创造性 (4)手工模拟真实环境困难 (5)测试结果不精确 2、自动化测试阶段: 自动测试决定——测试工具获取——自动化测试引入——测试计划、设计与开发——测试执行与管理——测试评审和评估 ... 阅读详情

相关推荐

QTP是什么、QTP录制回放的原理、loadrunner、Selenium、QTP三者区别?QTP下载地址

1.QTP是什么——(百度百科) QTP是Quick Test Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等。 2.QTP录制、回放的原理 以下来自https://www.cnbl...

lmm0513的博客 1084

数组做函数参数

将一个数组中大于10的值复制到另一个数组中,使用指针在子函数内实现 //数组名作实参,指针做形参 #include<stdio.h> #define n 5 void change(short *p1,short *p2) { int loop=0; for(loop=0;loop<5;loop++) { if(*p1>=10) { *p2=*p1; ...

韶言大雅 502

【Qt】调用Python函数:无参数、单个参数、多个参数、数组参数

一、链接配置 如果缺少头文件需要安装python3-dev: sudo apt-get install python3-dev 链接libpython3.4库,添加头文件路径,以Qt为例: INCLUDEPATH += /usr/include/python3.4 LIBS += -L /usr/lib/python3.4/config-3.4m-x86_64-linux-gnu -lpytho...

郭老二 2292

数组作为函数参数

C++不允许通过整个数组作为参数传递给函数。但是,可以通过指定数组名不带索引传递一个指针数组。 如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数在以下三种方式声明之一产生类似的结果,因为每个告诉编译器,整数指针即将要被接收。 方式-1 如下为指针形式参数: void myFunction(int *param) { . . . } 方式-2 如下为指定形式参数大小的数组:

Swxctx 560

Nvidia Tesla A100 驱动安装方法

Nvidia Tesla A100 驱动安装方法 遇到的问题:以前安装tesla系列、geforce系列等gpu 驱动的时候,只需执行nvidiaxxxx.run驱动包或者安装nvidiaxxxx.rpm包即可,但遇到新的GPU Nvidia Tesla A100的时候,安装完驱动似乎不起作用,找了半天资料,原来需要以下步骤才可以使用;

qq_24343177的博客 2万+

CentOS7下Graylog3.0高效日志管理:从零搭建到实战应用

本文详细介绍了在CentOS7操作系统上从零开始搭建Graylog3.0日志管理平台的完整过程。内容涵盖Java环境准备、MongoDB与Elasticsearch依赖安装、Graylog Server核心配置,并实战演示了通过Graylog Sidecar集中管理日志采集器以及配置邮件告警功能,为中小型团队提供了一个比ELK更轻量、易维护的一体化日志解决方案。

weixin_29207149的博客 85

QT 自定义信号与信号槽方法及解决自定义数据类型或数组作为函数参数的问题

概述:          笔者原来一直在windows下编程,近期转QT。对于原windows下的自定义消息传送,在QT 下自定义信号与信号槽是一个完美解决方案。 但由于笔者是一个生手,对自定义信号与信号使用也不是一帆风顺。现将过程中遇到的问题及解决方案记录下来,便于日后查看。        本文将从以下三个方面讲术:        (1) 如何自定义信号与信号槽        (2)

yewenlin的专栏 1万+

树莓派5安装ROS2小白指南避坑攻略

手把手教你如何在树莓派5上顺利安装ROS2,避开常见问题与陷阱,提升配置效率。针对树莓派5安装ros2过程中的依赖冲突、源配置错误等高频难题提供解决方案,适合新手快速上手。

weixin_35754962的博客 1003

自动化测试空间一周精选(2011-10-8)

各位软件测试领域的同行们:     TIB自动化测试工作室为您精选“自动化测试空间”一周以来的精彩日志和讨论话题。     1、集成测试和系统测试的区别http://www.automationqa.com/uchome/space.php?uid=98&do=blog&id=7

软件质量优化 2014

报错:subprocess.CalledProcessError: Command ‘[‘where‘, ‘cl‘]‘ returned non-zero exit status 1.

右键此电脑--属性--高级系统设置--环境变量--系统变量--找到Path。Enterprise是企业版,如果你是社区版就找Community。2.安装的时候,c++桌面那个需要勾选。

2301_77554343的博客 1507

Proxmox VE网络配置踩坑实录:从Web界面无法访问到完美修复的全过程

本文详细记录了Proxmox VE服务器Web界面无法访问的完整排查与修复过程。作者从基础网络连通性测试入手,逐步排查了服务状态、SSL证书、端口监听、防火墙规则及网关配置,最终定位并解决了问题。文章提供了系统性的故障排查思路和实用的修复命令,对管理Proxmox VE网络具有重要参考价值。

weixin_29231221的博客 888

QTP 参数化

方法一 DataTable方法   这是QTP提供的一种方法,也是最容易实现参数化的一种方式。QTP针对DataTable对象提供了很多方法,可以对DataTable进行灵活的操作。DataTable分为Global和Local两种,Global所有的Action都可以用,而Local就是只能Action自己用。   通过DataTable做参数化最直接的方法就是在Keyword View视图

chen_xi_的专栏 2102

PID算法(位置式pid算法和增量式pid算法)

PID 算法是闭环控制系统中常用的算法,PID 分别是 Proportion(比例)、Integral(积分)、Differential(微分)的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控。

m0_57678852的博客 2万+

QTP参数化方法

QTP参数化方法 ps:如果你觉得对你有帮助的话,麻烦点个赞,加个关注。 目录 简介: 步骤: 简介: 录制飞机订票系统(Flight) 一,对Agent Name对象:设置为数据表参数化 二,对Password对象:设置为环境变量参数化 三,对订票数对象:设置为随机数 步骤: 一,对Agent Name对象:设置为数据表参数化 【1】先录制好脚本,并点击 【2】设置为数据表格 【3】填入...

weixin_44751828的博客 2275

set_input_delay/set_output_delay介绍

针对这一类的情况,在做block时,cts之后,便需要将update_io_latency给关闭。那么,计算的timing就是错误的了。对于hier flow来讲,切分block,进行timing budget的时候,clock tree还未长。计算block端口上的timing,通常需要用到set_input_delay和set_output_delay告知工具外部电路的延迟信息,以方便工具计算端口上的timing。此时,工具在计算in2reg的timing时,便会将2.67ns的delay带进来。

芯冰乐 318

OTFS 消息传递算法信号检测【附matlab代码详解】

OTFS 消息传递算法方面的一些浅浅理解。

Cuby的博客 4009

QTP高级应用(7)

1)掌握QTP的Action和Action参数化 2)熟悉专家视图 3)了解QTP内置函数的使用

m0_67519714的博客 1242

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

QTP的Test参数以及顶级Action参数的使用

QTP的Test参数以及顶级Action参数的使用标签:  QTP  Action  Test  参数  2010-03-02 16:37网上有些关于如何使用Action参数的文章,不过关于QTP的Test参数和Top-Level Action参数的使用例子几乎没有。<br /><br /> 有些人甚至不知道这个参数做什么用的,尤其是Test的output不知道怎么取。<br /><br /> 其实它是外部对象传给它的(这个外部对象可以是Quality Center,也可以是vbs这样的驱动程序)。<br

anqier 830

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

QTP的DataTable中有三种获取参数值的方法

在QTP的DataTable中有三种获取参数值的方法,它们分别是Value方法、RawValue方法和ValueByRow方法。下面将一一阐述这几种方法。 Value         DataTable.Value(paramName, sheetName) 【参数说明】         paramName —— 需要获取的参数名,也就是列名

fanglige的专栏 7244

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【QTP】读取Excel表的用法

这个是个非常非常常用且实用的函数,使用QTP读取Excel中的数据。 先贴上函数: '======================================== '名 称:QTP_ReadExcel '作 用:从Excel读数据 '参 数:sFileName:EXCEL文件名 sSheetName:Sheet表名 '返回值:把EXCEL变为2维数组返回

Dylan Chen 1592

QTP 操作模块Action 与 Actinon 之间调用传递参数

1.操作模块Action 往往是用于QTP代码按照逻辑关系划分成一个个脚本模块,这与VBScript 的函数有点相似,但两者也有一些不同。          2.操作模块只能用于QTP中,而函数不仅可以用于VbScript开可以用于QTP。         3. 操作模块可以有选择性地传递和接收输入和输出的参数。在使用时,输入参数首先要被传递,其次才是参数的输出。一个参数不能同时为输入输出参数

erix1991的专栏 1866

QTP多个Action之间传递参数的方法详解

点击打开链接 脚本的朋友们都会碰到多个Action之间传递参数的问题,想当年我也是研究了好久才成功的,网上虽然有很多文章都在讲这个问题,但是大多都是雷同的抄来抄去不能解决实际问题,也有可能是我太笨了吧。下面我们来详细讲一下QTP多个Action之间传递参数的方法。 一、假设Action1调用Action2并且Action1传递参数给Action2 1、Action1的代码及设置

黄沙百战穿金甲,不破楼兰终不还。 3608

qtp实例练习

周六看了一天文档,《qtp基础教程》 按照里面的步骤一步步进行了操作,明白了每个步骤的意思,最后一步始终做不出来; 过了两天,在公司下班后,我又打开,思考了一下,按照自己的想法,重新做,没想到做成功了,想想也很简单,可能就是一个思考和模仿的过程; 正好公司有个qtp大牛,我就问了问关于写脚本加参数的问题; 大牛说得学学VBS编程,其实也很简单,qtp编程不难; 而且有个地方需要注

461

QTP中Action的参数调用

一: Action的参数调用11、  设置参数Action  Properters >> Action Parameter增加input的参数和output的参数 2、  Action 1 的脚本:parameter("output")="Action1 Output"msgbox("Action1 Input:"&parameter("input"))msgbox

fen_fen的专栏 4895
上一篇: TIB自动化测试快讯 -- 自动化测试空间一周精选(2011-9-27)
下一篇: 自动化测试空间一周精选(2011-10-8)
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值