QTP常用函数
QT常用函数总结(全)
QT常用函数总结(全)Qt是一个基于C++的跨平台应用程序开发框架,提供了丰富的类库和工具,以便开发人员能够轻松地创建出高质量的图形界面应用程序。
Qt中提供了大量的函数和类供开发人员使用,下面将总结Qt中常用的函数。
1. QObject类中的常用函数- objectName(:获取对象的名称。
- setObjectName(:设置对象的名称。
- parent(:获取对象的父对象。
- children(:获取对象的子对象。
- signals和slots:用于实现对象之间的通信。
- metaObject(:获取对象的元对象。
- deleteLater(:延迟删除对象。
2. QWidget类中的常用函数- show(:显示窗口。
- hide(:隐藏窗口。
- resize(:调整窗口的大小。
- move(:移动窗口的位置。
- setWindowTitle(:设置窗口的标题。
- setWindowIcon(:设置窗口的图标。
- setWindowFlags(:设置窗口的标志。
- close(:关闭窗口。
- layout(:获取窗口的布局。
3. QLayout类中的常用函数- addWidget(:添加部件到布局中。
- removeWidget(:从布局中移除部件。
- setMargin(:设置布局的边距。
- setSpacing(:设置布局的间距。
- setSizeConstraint(:设置布局的尺寸约束。
- setContentsMargins(:设置布局的内容边距。
- addItem(:添加项目到布局中。
- setAlignment(:设置布局的对齐方式。
4. QPushButton类中的常用函数- setText(:设置按钮的文本。
- setCheckable(:设置按钮是否可选中。
- isChecked(:判断按钮是否被选中。
- setIcon(:设置按钮的图标。
- setShortcut(:设置按钮的快捷键。
QTP常用函数
1.GetCellData函数作用:获取单元格的值例: rowCount = Browser("xxx ").Page("xxx").Frame("xxx").WebTable("xxx").RowCountFor counter = 1 To rowCounttext =Browser("xxx").Page("xxx").Frame("xxx").WebTable("xxx").GetCellData(counter,1) If (text = "xxx") Thencounter = counter - 1selectNO = "#" & counterBrowser("xxx").Page("xxx").Frame("xxx").WebRadioGroup("xxx").Select selectNOExit ForEnd IfNext2.把值插入datatable里例: datatable.setcurrentrow(i)datatable.value("name","Global")="name"datatable.value("passwd","Global")="passwd"3.用代码来启动浏览器Browser1 = "IE"StartURL = ""IF Browser1 = "IE" THENset IE = CreateObject("InternetExplorer.Application")IE.Visible = trueIE.Navigate StartURLEND IF4.ExecuteFile函数作用:ExecuteFile 可以直接执行vbs文件,而不需要将其导入resource中ExecuteFile FileName说明:where FileName is the absolute or relative path of your VBscrīpt file.例:ExecuteFile("F:\test.vbs")5.Strcomp函数作用:比较文本例:dim strtext1,strtext2,str ,str1,comp1strtext1 = "xxx"strtext2 = "xxx"str =VbWindow("xxx").VbWindow("xxx").VbLabe1("xxx").GetTOProperty("text") str1=VbWindow("xxx").VbWindow("xxx").VbLabel("xxx").GetTOProperty("text") comp1=strcomp(strtext1,str,0)If comp=0 Thenmsgbox “这两个串相等”elsemsgbox strEnd If6.CaptureBitmap作用:捕获屏幕7. GetROProperty作用:取对象属性值例:VbWindow("xxx").VbWindow("xxx").VbWindow("xxx").ActiveX("xxx").GetR OProperty("TextMatrix(1,0)")8.ExitAction - 退出当前操作,无论其循环属性如何。
QTP中常用的VB函数
QTP中常用的VB函数Left 函数返回Variant (String),其中包含字符串中从左边算起指定数量的字符。
语法Left(string, length)Left 函数的语法有下面的命名参数:部分说明string 必要参数。
字符串表达式其中最左边的那些字符将被返回。
如果string 包含Null,将返回Null。
length 必要参数;为Variant (Long)。
数值表达式,指出将返回多少个字符。
如果为0,返回零长度字符串("")。
如果大于或等于string 的字符数,则返回整个字符串。
说明欲知string 的字符数,使用Len 函数。
注意 LeftB 函数作用于包含在字符串中的字节数据。
所以 length 指定的是字节数,而不是要返回的字符数。
Mid 函数从字符串中返回指定数目的字符。
Mid(string, start[, length])参数string字符串表达式,从中返回字符。
如果string 包含Null,则返回Null。
Startstring 中被提取的字符部分的开始位置。
如果 start 超过了 string 中字符的数目,Mid 将返回零长度字符串("")。
Length要返回的字符数。
如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到字符串结束的所有字符。
说明要判断string 中字符的数目,可使用Len 函数。
下面的示例利用Mid 函数返回字符串中从第四个字符开始的六个字符:Dim MyVarMyVar = Mid("VB脚本is fun!", 4, 6) 'MyVar 包含"Script"。
注意 MidB 函数与包含在字符串中的字节数据一起使用。
其参数不是指定字符数,而是字节数。
Len 函数返回字符串内字符的数目,或是存储一变量所需的字节数。
QT中的常用数据结构及函数
QT中的常用数据结构及函数一、QT中常用数据结构1、QString:QString 是一种 Qt 类的字符串类,可以处理 Unicode字符,它可以和 C 字符串以及 std::string 之间相互转换。
它不仅可以存储文本,还可以处理文本相关的任务。
2、QVector:QVector 类定义了一个模板类,它实现了一个动态大小的数组。
它可以替代原始的 C 数组和 std::vector。
QVector 不能存放关联性数据,但是可以存放像 QMap 的键值对。
3、QPair:QPair 是 Qt 类的一个模板类,用于存放两个值的元组,可以是不同类型的值,同时 QPair 可以存放关联性数据,例如键值对,结构体等等。
4、QList:QList 是一种 Qt 类的模板列表。
它包含动态大小的双向链表,可以用来存放任何类型的值,同时也可以存放关联数据,如键值对。
5、QMap:QMap 是 Qt 类的一个模板类,用于存放键值对。
它是一个“有序”映射,可以用来达到直接以键访问值的目的。
二、QT中常用函数1、QString.toInt()函数:可以将一个QString类型的字符串转换为int类型的数据。
例如:QString str = "123"; int i = str.toInt(; // i = 123;2、QString.toFloat()函数:可以将一个QString类型的字符串转换为float类型的数据。
例如:QString str = "123.45"; float f = str.toFloat(; // f = 123.45;3、QString.split()函数:可以将一个QString类型的字符串根据指定字符分割成多个QString类型的字符串。
例如:QString str ="a,b,c,d"; QStringList list = str.split(",");// list = {"a", "b", "c", "d"}。
QTP提升学习指导
QTP逐步提升学习指南一、基础学习1 、需要掌握的基础:vbscript编程、QTP自带的库函数2、需要准备的资料:vbscript中文帮助文档、QTP自带的帮助文档3、心理准备:QTP的帮助文档基本都是全英文的,因此要有良好的英语阅读能力,至少要有看到英语不怕的素质,我们可以装上金山词霸,随时查阅。
4、学习的过程:安装QTP、熟悉QTP的界面、进行基础设置、录制第一个脚本、运行;5、QTP脚本调试常用:msgbox调试某个部分的输出、断点调试、F11单步运行6、修改录制好的脚本,以达到自己想要的效果。
二、稳步提升1、对象:抓取对象、修改名称、管理对象树2、根据抓取的对象,不使用录制功能,独立写脚本;3、调试、运行脚本三、高级编程该部分主要以个人的一些想法作为题材,大家可以自由发挥、努力尝试1、入门1.1 编写导入一张excel表的一个sheet到QTP的datatable的脚本1.2 编写点击网页的某个链接或button自动启动QTP,执行某个Tests1.3 综合1、2即写一个Tests,其需要输入的信息由excel的sheet进行配置。
启动QTP,读取配置的值,执行Tests。
2、深入2.1 vbscript编写输出一个完整的html文档2.2 查询QTP帮助文档,了解QTP的错误报告2.3 运行一个Tests,输出错误报告3、邮件系统3.1 QTP编程实现向指定邮箱发送邮件3.2 执行Tests,将错误报告以邮件的形式发出3.3 整理错误报告样式,增强错误报告的可阅读性初学测试工具的QTP的一点总结QTP自动化测试工具有三种编程方式:非描述性编程、纯描述性编程和description描述性编程。
非描述性编程:模拟用户操作,保存操作对象到对象库,测试脚本运行时从对象库查找对象,找到后,对对象执行某种动作的过程。
纯描述性编程:描述唯一识别对象的属性值,保存脚本时,对象被保存到临时文件,测试脚本运行时从临时文件中查找对象,找到后,对对象执行某种动作的过程。
QT常用函数总结(全)
QT常用函数总结(全)QT是一种跨平台的C++应用程序开发框架,它具有丰富的功能和强大的功能。
在QT中,有许多常用的函数,用于处理用户界面、文件操作、网络通信、数据库访问等。
下面是对一些常用的函数进行总结:一、用户界面函数:1. QWidget类的函数:- show(:显示窗口- hide(:隐藏窗口- setWindowTitle(:设置窗口标题- setFixedSize(:设置窗口固定大小- setCentralWidget(:设置中心部件2. QLabel类的函数:3. QPushButton类的函数:- setText(:设置按钮文本- setIcon(:设置按钮图标- clicked(:当按钮被点击时发出信号- connect(:连接按钮的点击信号和对应的槽函数4. QLineEdit类的函数:- setText(:设置文本框中的文本- text(:获取文本框中的文本- setPlaceholderText(:设置占位文本- addItem(:添加下拉列表项- setCurrentText(:设置当前选中的文本- currentText(:返回当前选中的文本二、文件操作函数:1. QFile类的函数:- exists(:检查文件是否存在- open(:打开文件- close(:关闭文件- readAll(:读取文件中的所有内容- write(:向文件中写入内容2. QDir类的函数:- setCurrent(:设置当前目录- exists(:判断目录是否存在- mkdir(:创建目录- remove(:删除目录或文件- entryList(:列出目录中的文件和子目录3. QTextStream类的函数:- setCodec(:设置文本流的编码方式- readLine(:读取一行文本- write(:向文本流中写入内容三、网络通信函数:1. QTcpServer类的函数:- listen(:监听指定的IP地址和端口- newConnection(:当有新的连接请求时发出信号- nextPendingConnection(:返回下一个连接请求的套接字2. QTcpSocket类的函数:- connectToHost(:连接到指定的IP地址和端口- write(:向套接字写入数据- readyRead(:当有数据可读时发出信号- readAll(:读取套接字中的所有数据四、数据库访问函数:1. QSqlDatabase类的函数:- addDatabase(:添加一个数据库连接- setHostName(:设置数据库的主机名- setDatabaseName(:设置数据库的名称- setUserName(:设置连接数据库的用户名- setPassword(:设置连接数据库的密码2. QSqlQuery类的函数:- exec(:执行SQL语句- prepare(:准备执行SQL语句- bindValue(:绑定参数值- next(:移动到结果集中的下一条记录- value(:返回当前记录中指定字段的值以上是一些常用的QT函数总结,涉及了用户界面、文件操作、网络通信和数据库访问等方面的函数。
qt常用函数手册
qt常用函数手册Qt是一个强大的C++库,提供了许多有用的函数和类来创建桌面和移动应用程序。
以下是一些Qt中常用的函数和类:1. QString:用于处理字符串的类。
它提供了许多有用的函数,如append()、prepend()、insert()和replace(),可以用于拼接、添加、插入和替换字符串。
2. QDebug:用于输出调试信息的类。
它提供了许多重载的运算符<<,可以用于输出各种类型的数据。
3. QWidget:用于创建GUI组件的基类。
它提供了许多有用的函数,如resize()、move()、show()和hide(),可以用于调整窗口大小、移动窗口、显示窗口和隐藏窗口。
4. QPushButton:用于创建按钮的类。
它提供了许多有用的函数,如setText()、setIcon()和clicked(),可以用于设置按钮文本、图标和点击事件。
5. QLabel:用于显示文本或图片的类。
它提供了许多有用的函数,如setText()和setPixmap(),可以用于设置标签文本和图片。
6. QSlider:用于创建滑动条的类。
它提供了许多有用的函数,如setValue()、setMinimum()和setMaximum(),可以用于设置滑动条值、最小值和最大值。
7. QComboBox:用于创建下拉列表的类。
它提供了许多有用的函数,如addItem()、setCurrentIndex()和currentText(),可以用于添加选项、设置当前选项和获取当前选项文本。
8. QTabWidget:用于创建标签页的类。
它提供了许多有用的函数,如addTab()、setCurrentIndex()和tabText(),可以用于添加标签页、设置当前标签页和获取标签页文本。
9. QSignal和QSlot:用于实现信号与槽机制的类。
它允许对象之间进行通信,当某个事件发生时,发出信号,然后通过槽函数来处理该信号。
qt qstyleditemdelegate函数介绍
qt qstyleditemdelegate函数介绍QStyledItemDelegate是Qt中的一个类,用于自定义列表和表格的项的外观和行为。
它是QAbstractItemDelegate的一个子类,提供了更多的灵活性和易用性。
QStyledItemDelegate可以用于自定义列表和表格中的每个单元格、每个行、每个列的外观和行为。
QStyledItemDelegate类提供了以下几个重要的函数:1. paint()函数:这个函数用于绘制每个项的外观。
可以通过重写这个函数来自定义每个项的绘制方式。
在绘制时,可以访问模型中的数据,也可以根据项的状态和位置进行不同的绘制。
绘制可以是简单的文本和图标,也可以是自定义的绘制。
2. createEditor()函数:这个函数用于创建用于编辑项的编辑器。
当用户在列表或表格中编辑项时,会调用这个函数来创建并显示编辑器。
可以通过重写这个函数来自定义编辑器的类型和外观。
通常,createEditor()函数会创建一个特定的编辑器类的实例,并返回该实例的指针。
3. setEditorData()函数:这个函数用于将模型中的数据传递给编辑器。
当用户编辑一个项时,会调用这个函数来设置编辑器的初始数据。
可以通过重写这个函数来自定义数据的传递方式和格式。
4. setModelData()函数:这个函数用于将编辑器中的数据保存回模型中。
当用户完成编辑一个项时,会调用这个函数来设置模型中的数据。
可以通过重写这个函数来自定义数据的保存方式和格式。
5. updateEditorGeometry()函数:这个函数用于更新编辑器的位置和尺寸。
当用户编辑一个项时,可能需要调整编辑器的位置和尺寸以适应新的布局。
可以通过重写这个函数来自定义编辑器的位置和尺寸调整方式。
除了以上函数,QStyledItemDelegate还提供了一系列其他的函数,用于处理用户输入、获取项的尺寸和对齐方式等。
QtGlobal常用全局函数定义
QtGlobal常⽤全局函数定义QtGlobal常⽤全局函数定义函数功能T qAbs(const T &value)返回变量 value 的绝对值const T &qBound(const T &min, const T&value, const T&max)返回 value 限定在 min ⾄ max 范围之内的値bool qFuzzyComparc(doublc p1, double p2)若 p1 和 p2 近似相等,返回 truebool qFuzzyIsNulI(double d)如果参数 d 约等于 0,返回 truedouble qInf(()返回⽆穷⼤的数bool qIsFinite(double d)若 d 是⼀个有限的数,返回 truebool qIsInf(double d)若 d 是⼀个⽆限⼤的数,返回 truebool qIsNaN(double d)若 d 不是⼀个数,返回 trueconstT&qMax(const T&value1, const T&value2)返回 value1 和 value2 中较⼤的值const T &qMin(const T&value1, const T&value2)返回 value1 和 value2 中较⼩的值qint64 qRound64(double value)将 value 近似为最接近的 qint64 整数int qRound(double value)将 value 近似为最接近的 int 整数int qrand()标准中 rand() 函数的线程安全型版本,返回 0 ⾄ RAND_MAX 之间的伪随机数void qsrand(uint seed)标准 C++ 中 srand() 函数的线程安全型版本,使⽤种⼦ seed 对伪随机数字序列初始化还有⼀些基础的数学运算函数在头⽂件中定义,⽐如三⾓运算函数、弧度与⾓度之间的转换函数等。
qt中循环函数用法
qt中循环函数用法在Qt中,循环函数通常用于重复执行一段代码,直到满足某个条件为止。
Qt提供了几种不同类型的循环函数,以适应不同的需求。
1.for循环:for循环是一种常用的循环结构,它允许您在指定的次数内重复执行一段代码。
在Qt中,for循环的语法与其他C++程序相同。
例如:cppfor (int i = 0; i < 10; i++) {// 在这里编写要重复执行的代码}2.while循环:while循环根据条件重复执行代码块。
只要条件为真,循环就会继续执行。
例如:cppint count = 0;while (count < 10) {// 在这里编写要重复执行的代码count++;}3.do-while循环:do-while循环类似于while循环,至少执行一次代码块,然后根据条件决定是否继续执行。
例如:cppint count = 0;do {// 在这里编写要重复执行的代码count++;} while (count < 10);4.foreach循环:foreach循环用于遍历容器(如数组、列表或映射)中的元素。
它简化了访问容器元素的过程。
例如:cppQList<int> numbers = {1, 2, 3, 4, 5};foreach (int number, numbers) {// 在这里编写要对每个元素执行的代码}这些循环函数可以在Qt的任何地方使用,包括在QWidgets、QML或其他Qt模块中。
根据您的具体需求选择适当的循环结构。
qt 数组函数 -回复
qt 数组函数-回复数组函数是一种在编程中常用的工具,它能够对数组进行各种操作和处理。
在Qt框架中,有许多内置的数组函数可以帮助开发者更方便地处理数组数据。
首先,我们需要了解什么是数组。
数组是一种数据结构,它由一组相同类型的数据元素组成,每个元素在内存中都有一个唯一的索引。
我们可以使用数组函数来对数组进行初始化、访问元素、遍历数组、修改元素值等操作。
在Qt中,数组函数有许多种类,包括但不限于以下几种:1. 初始化数组函数:在创建数组时,我们可以使用初始化数组函数来给数组的元素赋初值。
常见的初始化数组函数有`QVector`、`QList`等。
它们都提供了各种方法来初始化数组,比如使用一个固定值初始化、使用其他数组的值初始化等。
2. 访问数组元素函数:通过使用访问数组元素函数,我们可以获得或设置数组中的元素值。
在Qt中,我们可以使用`at()`方法或者使用数组名加索引的方式来访问数组元素。
3. 遍历数组函数:遍历数组是指对数组的所有元素逐个进行处理。
在Qt中,我们可以使用循环结构,比如`for`循环或者`foreach`循环来遍历数组。
同时,Qt也提供了一些帮助函数来简化遍历数组的操作,比如`qForeach`函数、`qCopy`函数等。
4. 修改数组函数:在处理数组时,有时我们需要修改数组的某个或某些元素的值。
Qt提供了一些函数来帮助我们实现这个目的,比如`replace()`函数、`fill()`函数等。
它们可以帮助我们快速地修改数组元素的值。
5. 数组操作函数:除了上述常见的数组函数外,Qt还提供了许多其他的数组操作函数,比如排序数组函数、查找数组元素函数、删除数组元素函数等。
这些函数可以帮助我们更好地处理数组数据。
使用数组函数能够提高代码的可读性和可维护性。
它们能够帮助我们更方便地处理数组数据,减少代码量,提高开发效率。
在Qt的开发过程中,熟练掌握数组函数的使用,对于编写高效、可靠的代码是非常重要的。
qt 数组函数
qt 数组函数Qt 是一个流行的跨平台应用程序开发框架,提供了许多方便的函数和类来处理各种数据。
其中,Qt 数组函数提供了一些便捷的操作方法,以简化数组的处理和操作。
1. QVector:QVector 是 Qt 中最常用的数组容器类之一。
它提供了许多函数来处理数组,包括插入、删除、排序等操作。
以下是一些常用的 QVector 函数:- append:在数组末尾添加一个元素。
- prepend:在数组开头添加一个元素。
- insert:在指定位置插入一个元素。
- remove:删除指定位置的元素。
- clear:清空整个数组。
- count:返回数组中指定元素的个数。
- isEmpty:判断数组是否为空。
- indexOf:返回指定元素第一次出现的位置。
除了上述基本操作,QVector 还提供了一些高级函数,如:resize(调整数组大小)、replace(替换指定位置的元素)等。
2. QLinkedList:QLinkedList 是 Qt 中另一个常用的数组容器类,它是一个双向链表实现的容器。
与 QVector 不同的是,QLinkedList 在插入和删除元素时效率更高,但在随机访问元素时效率较低。
以下是一些常用的 QLinkedList 函数:- append:在数组末尾添加一个元素。
- prepend:在数组开头添加一个元素。
- insert:在指定位置插入一个元素。
- remove:删除指定位置的元素。
- clear:清空整个数组。
- count:返回数组中指定元素的个数。
- isEmpty:判断数组是否为空。
- indexOf:返回指定元素第一次出现的位置。
QLinkedList 还提供了一些高级函数,如:size(返回数组的大小)、replace (替换指定位置的元素)等。
3. QStack:QStack 是 Qt 提供的堆栈类,它是一个后进先出(LIFO)的数据结构。
以下是一些常用的 QStack 函数:- push:将元素推入堆栈顶部。
qt 数组函数 -回复
qt 数组函数-回复数组是一种常用的数据结构,它可以用来存储一系列相同类型的数据。
在许多编程语言中,数组是非常重要的数据类型,因为它们允许开发人员有效地组织和访问数据。
在Qt编程中,Qt库提供了一系列数组函数,这些函数可以帮助开发人员更好地处理数组。
本文将一步一步回答关于Qt数组函数的问题,帮助读者更好地理解并使用这些函数。
1. 什么是Qt数组函数?Qt数组函数是Qt库中提供的一组用于处理数组的函数。
这些函数包括对数组元素进行访问、修改、排序、查找等操作。
使用Qt数组函数可以简化代码,并提高程序的效率和可读性。
2. 如何定义和初始化数组?在Qt中,数组的定义和初始化与其他编程语言类似。
可以使用以下语法来声明和初始化一个数组:声明一个整数数组int myArray[5];初始化数组myArray[0] = 1;myArray[1] = 2;myArray[2] = 3;myArray[3] = 4;myArray[4] = 5;以上代码声明了一个包含5个整数元素的数组,并使用赋值运算符初始化数组的每个元素。
3. 如何使用Qt的数组函数来访问数组元素?Qt提供了一些用于访问数组元素的函数。
其中,`at()`函数是一种常用的方法,它可以根据索引返回数组元素的值。
以下代码演示了如何使用`at()`函数来访问数组元素:int value = myArray.at(2); 获取第三个数组元素的值在上述代码中,`at()`函数以2作为参数,返回数组`myArray`中第三个元素的值(索引从0开始计数)。
4. 如何使用Qt的数组函数来修改数组元素?在Qt中,可以使用`replace()`函数来修改数组元素的值。
以下代码展示了如何使用`replace()`函数将数组中指定位置的元素替换为新的值:myArray.replace(0, 10); 将第一个元素替换为10在上述代码中,`replace()`函数以两个参数:要替换的元素的索引和新值。
QTP常用的VBS脚本
1)生产随机数列第一种方法randomize'更新反回的数据funcation rand(k,n)n="int((k-1)*rnd+1) rand=nend funcation第二种方法n="randomnumber.value(1,255)2)wintreeview一些操作选择一个条目:wintreeview.select(item)'根是0根的名称:wintreeview.getitem(0)3)QTP中用代码连接数据库Set Conn = CreateObject("ADODB.Connection" )str="DRIVER=Oracle in OraHome92;SERVER=192.168.0.1;DBQ=testdb;user id=test; password=test"Conn.open strSet Rs = CreateObject ("ADODB.Recordset" )sql= "select * from user_table t where table_name = 'XXX' "Rs.open sql,conn',1,34)QTP如何测试鼠标右键菜单以QTP附带的订票网站sample为例,edit控件username鼠标右键,点击paste(第4个菜单项)cur_replay_type = Setting.WebPackage("ReplayType")'Run mouse operations using the mouse, if 1 using browser eventsSetting.WebPackage("ReplayType") = 2Browser("Browser").Page("Welcome:Mercury Tours").WebEdit("userName").Click micRightBtnSetting.WebPackage("ReplayType") = cur_replay_typeindex=4Set WshShell = CreateObject("Wscrīpt.Sh ell")For i = 1 To indexWshShell.sendKeys "{DOWN}"NextWshShell.sendKeys "{ENTER}"Set WshShell = nothing5)QTP测试页面字体颜色的办法set ōbj = Browser().Page().WebElement().Object' Get the objectset iStyle= obj.currentstyle' Get the attributesColor = iStyle.color6)从QC自动启动qtp如何自动加载插件'此函数用于加载指定Test所有的插件,若要运行Test可自己加个qtApp.Test.Run Function Load_Addins(testPath)Dim qtApp 'As QuickTest.ApplicationDim blnNeedChangeAddinsDim arrTestAddinsSet qtApp = CreateObject("QuickTest.Application")arrTestAddins = qtApp.GetAssociatedAddinsForTest(testPath)blnNeedChangeAddins = FalseFor Each testAddin In arrTestAddinsIf qtApp.Addins(testAddin).Status <> "Active" ThenblnNeedChangeAddins = TrueExit ForEnd IfNextIf unched And blnNeedChangeAddins ThenqtApp.QuitEnd IfIf blnNeedChangeAddins ThenDim blnActivateOKblnActivateOK = qtApp.SetActiveAddins(arrTestAddins, errorDescrīption) If Not blnActivateOK ThenCall ErrorLog(errorDescrīption) '这里是调用自己的日志函数,可替换为自己的或注释掉Wscrīpt.QuitEnd IfEnd IfIf Not unched ThenunchEnd IfqtApp.Visible = TrueqtApp.Open testPath'可在此加入qtApp.Test.Run来运行TestSet qtApp = NothingEnd Function7)换行符vbcr----chr(13)回车符vblf----chr(10)换行符vbcrlf----chr(13)+chr(10)结合type(chr(13)就相当于按了一上键盘上的enter8)防程序中断方法On error resume nextOn error goto 09)"is+*"类型functionisarray '是否是数组isconnected '判断QTP是否连接到TDisdate '是否是合法的日期类型isempty '判断是否初始化isNull '判断是否为空值isNumeric '判断是否是数字型isobject '判断是否一个功能对象isready '判断设备是否准备就绪isRootFolder '是否是根目录10)WScript.Shell的一些应用set WshShell = CreateObject("WScript.Shell")WshShell.SendKeys "{ENTER}" '模拟键盘进行操作WshShell.AppActivate "Calculator" '启动应用程序' 利用粘贴板,实现中文输入strCopy = "软件测试."Set bjIE = CreateObject("InternetExplorer.Application")objIE.Navigate("about:blank")objIE.document.parentwindow.clipboardData.SetData "text", strCopyobjIE.Quitwait 1Setting.WebPackage("ReplayType")=2Set bj=createobject("wscrīpt.shell")obj.sendkeys "{TAB}"wait 2obj.sendkeys "^v"wait 1Setting.WebPackage( "ReplayType")=111)childobjects的应用childobject可以返回界面上满足条件的对象集合,而且与对象库里是否有这些对象无关,这就可以简化对象库;返回的对象集合的count方法可以返回对象个数,这就可以通过下标对单个对象进行操作;在出现index标识对象时可以进行运用.如:' Find All WebEdit Objects on a Web Page and Set a Value for a Specific One Sub ChildObjects_Example()Dim EditToSearch, ValueToSet, NumberOfEditsEditToSearch = "credit_card_number"ValueToSet = "3558986773230578"Set Desc = Description.Create()oDesc("micclass").Value = "WebEdit"oDesc("name").Value = "credit_card_number"Set EditCollection = Browser("Book a Flight: Mercury").Page("Book a Flight: Mercury").ChildObjects(oDesc)NumberOfEdits = EditCollection.CountFor i = 0 To NumberOfEdits - 1If EditCollection(i).GetROProperty("name") = EditToSearch ThenEditCollection(i).Set ValueToSetEnd IfNextEnd Sub12)关闭所有IESystemUtil.CloseProcessByName("iexplore.exe")13)启动IE的语句:SystemUtil.Run "iexplore.exe", "http://www.***.com/"关闭IE或其他程序的语句:SystemUtil.CloseProcessByName "app.exe"SystemUtil.CloseProcessByWndTitle "Some Title"14)引用自定义环境变量Environment.LoadFromFile "D:\询价\case\环境\huiyuan.xml"15)环境变量有2种,一种是QTP的内置变量,一种是用户自定义的变量。
qt 遍历函数
qt 遍历函数Qt是一种基于C++的跨平台应用程序框架,它提供了一系列的类和函数,可以帮助开发人员快速开发高质量的图形用户界面和网络应用程序。
在 Qt 中,遍历函数是一种非常有用的函数,它可以帮助开发人员轻松地遍历 Qt 中各种容器和数据结构。
Qt 中的遍历函数通常以 `foreach` 关键字开头,其基本语法如下:```c++foreach (type variable, container) {// 对容器中的每个元素执行操作}```其中,`type` 表示容器中元素的类型,`variable` 是一个变量,用于存储每个元素的值,`container` 是要遍历的容器或数据结构。
下面是一些常用的 Qt 遍历函数:1. `QList<T>::iterator`: 遍历 QList 容器中的每个元素。
```c++QList<int> list;list << 1 << 2 << 3;foreach (int i, list) {qDebug() << i;}```2. `QMap<Key, Value>::iterator`: 遍历 QMap 容器中的每个键值对。
```c++QMap<QString, int> map;map.insert('apple', 1);map.insert('banana', 2);map.insert('orange', 3);foreach (QString key, map.keys()) {qDebug() << key << ':' << map.value(key);}```3. `QSet<T>::iterator`: 遍历 QSet 容器中的每个元素。
qt 数学函数
qt 数学函数
Qt是一个开源的跨平台C++应用程序框架。
它可以让开发者开发出运行在各种操作系统和硬件上的优质应用程序。
Qt包含了大量的函数库和测试用例,每一个函数都有着自己的用途,又有许多数学函数,其中包括了许多中文的功能,以下是对这些函数的介绍。
1. 求绝对值函数abs()
abs()函数可以计算一个数的绝对值,并返回其值。
其定义如下:
int abs(int j);
该函数接受一个整数作为参数,返回一个整数。
2. 立方根函数cbrt()
double cbrt(double x);
3. 余弦函数cos()
5. 双曲正弦函数sinh()
template <typename T> const T& qMax(const T& a, const T& b);
该函数接受两个任意类型的参数,返回其中较大的值。
10. 求最小值函数qMin()
11. 取整函数qFloor()
12. 获取随机数函数qrand()
该函数返回一个整数,代表生成的随机数。
13. 四舍五入函数qRound()
qRound()函数可以将一个实数四舍五入为最接近的整数,并返回该整数。
其定义如下:
14. 正切函数tan()
总结:
Qt提供了许多数学函数,这些函数大多是在std库的基础上进行二次封装,以便更好地适应Qt框架。
大多数函数都是基于数学运算的函数,通过这些函数,开发者可以轻松地在程序中进行各种数学计算。
qtpopen函数
qtpopen函数摘要:1.qtpopen 函数概述2.qtpopen 函数的作用3.qtpopen 函数的语法4.qtpopen 函数的参数5.qtpopen 函数的返回值6.qtpopen 函数的示例正文:一、qtpopen 函数概述qtpopen 函数是Python 中的一个重要函数,主要用于打开或创建一个文件,并返回一个文件对象。
在Python 编程中,文件对象是进行文件操作的核心,通过文件对象,我们可以对文件进行读取、写入、追加等操作。
二、qtpopen 函数的作用qtpopen 函数的主要作用是打开或创建一个文件,并返回一个文件对象。
当文件不存在时,可以通过qtpopen 函数创建一个新文件;当文件已存在时,可以通过qtpopen 函数打开文件,进行读取、写入等操作。
三、qtpopen 函数的语法qtpopen 函数的语法如下:```pythonopen(mode, file, buffering, encoding, errors, newline, opener,write_through)```其中,参数的含义如下:- mode:打开或创建文件的模式,如"r"表示只读模式,"w"表示写入模式,"a"表示追加模式等。
- file:要打开或创建的文件名。
- buffering:缓冲区模式,默认为None。
- encoding:文件的编码方式,默认为None。
- errors:打开文件时发生的错误处理方式,默认为None。
- newline:文件换行模式,默认为None。
- opener:打开文件的函数,默认为None。
- write_through:写入模式下,是否立即写入文件,默认为False。
四、qtpopen 函数的参数qtpopen 函数的参数中,mode、file 是必选项,其他参数是可选项。
在实际使用中,我们通常只需要指定mode 和file 即可。
p函数q函数
p函数q函数P函数和Q函数是在数学和计算机科学领域中常用的函数。
本文将介绍这两个函数的概念、特点和应用。
P函数,全称为概率密度函数(Probability Density Function),是描述随机变量的概率分布的函数。
它可以用来计算某个随机变量取某个值的概率。
P函数通常具有非负性、归一性和可积性等特点。
在实际应用中,P函数经常用于描述随机事件的发生概率,比如掷骰子出现某个点数的概率、抽奖中中奖的概率等等。
Q函数,全称为累积分布函数的补函数(Complementary Cumulative Distribution Function),是P函数的补函数。
它表示随机变量大于某个值的概率。
也就是说,Q函数可以用来计算随机变量落在某个区间以外的概率。
Q函数通常具有非负性、单调递减性和右连续性等特点。
在实际应用中,Q函数经常用于计算异常事件的概率,比如超过某个阈值的温度、超过某个限制的电流等等。
P函数和Q函数在统计学、概率论、信息论、通信工程等领域都有重要的应用。
在统计学中,P函数和Q函数常用于估计参数、假设检验和置信区间的计算。
在概率论中,P函数和Q函数用于描述随机事件的发生概率和分布情况。
在信息论中,P函数和Q函数用于计算信道容量和误码率等性能指标。
在通信工程中,P函数和Q函数用于计算无线信号的传输性能和信噪比等关键参数。
P函数和Q函数是数学和计算机科学领域中重要的函数。
它们能够描述随机变量的概率分布和事件发生的概率,具有广泛的应用价值。
在实际应用中,我们可以根据具体问题选择合适的概率密度函数和累积分布函数,利用P函数和Q函数进行计算和分析。
通过深入理解和熟练运用P函数和Q函数,我们可以更好地理解和处理与概率相关的问题,提高问题求解的准确性和效率。
因此,对于数学和计算机科学领域的研究者和从业人员来说,掌握P函数和Q函数的概念、特点和应用是非常重要的。
通过对P函数和Q函数的学习和研究,我们可以更好地应用它们解决实际问题,提升我们的专业能力和解决问题的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
'''以下为QuickTest和Robot都适用函数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''获取当前日期Public Function Get_Data()Dim currentDatecurrentDate = DateGet_Data = currentDateEnd Function'获取当前时间Public Function Get_Time()Dim currentTimecurrentTime = TimeGet_Time = currentTimeEnd Function'随机函数生成'输入值:生成值范围i~j'返回值:随机数Public Function Get_RandNum(fromNum,toNum)If (fromNum<0) Or (toNum<0) ThenMsgBox "只接受大于零的输入"ElseIf fromNum>toNum thenMsgBox "起始值必须小于结束值"ElseDim RunTimeRandomizeRunTime = Int((10 * Rnd) + 1)Dim MyValue,iFor i = 1 To RunTimeRandomizeMyValue = Int(((toNum - fromNum + 1) * Rnd) + (fromNum)) NextGet_randNum=MyValueEnd IfEnd Function'值交换函数Public Sub swap(byref a,byref b)Dim cc = aa = bb = cEnd Sub'是否是质数函数'是质数返回true,否则返回false Function IsPrimeNumber(num)Dim i,flagflag = trueIf num = 1 Thenflag = FalseElseIf num < 1 ThenMsgBox "只能接受大于0的数"flag = FalseElseFor i = 2 To (num - 1)If ((num Mod i) = 0) Thenflag = FalseExit ForEnd IfNextEnd IfIsPrimeNumber = flagEnd Function'读指定文本文件指定行内容Function ReadLine(pathway, rowcount) Dim fso,myfile,i,flagflag = 1Set fso=CreateObject("scripting.FileSystemObject")If fso.FileExists(pathway) thenSet myfile = fso.openTextFile(pathway,1,false)Elseflag = 0End IfFor i=1 to rowcount-1If Not myfile.AtEndOfLine Thenmyfile.SkipLineEnd IfNextIf flag = 1 thenIf Not myfile.AtEndOfLine ThenReadLine = myfile.ReadLineElseReadLine = "文本越界"End Ifmyfile.closeElseReadLine = "文件不存在"End IfEnd Function'随机生成字符串Function MakeString(inputlength)Dim I,x,B,AIf IsNumeric(inputlength) ThenFor I = 1 To inputlengthA =Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n"," o","p","q","r","s","t","u","v","w","x","y","z")Randomizex=Get_RandNum(0,35)B = A(x)makestring =makestring +BNextMakeString = makestringelsemsgbox ("只接受数字输入")End IfEnd Function'启动资源管理器Sub ZYGLQ()Dim WshShellset WshShell = CreateObject("Wscript.Shell")WshShell.SendKeys "^+{ESC}"Set WshShell = nothingEnd Sub'启动运行Sub Run()Dim WshShellset WshShell = CreateObject("Wscript.Shell")WshShell.SendKeys "^{ESC}R"Set WshShell = nothingEnd Sub'发送电子邮件Function SendMail(SendTo, Subject, Body, Attachment) Dim ol,mailSet ol=CreateObject("Outlook.Application")Set Mail=ol.CreateItem(0)Mail.to=SendToMail.Subject=SubjectMail.Body=BodyIf (Attachment <> "") ThenMail.Attachments.Add(Attachment)End IfMail.Sendol.QuitSet Mail = NothingSet ol = NothingEnd Function'去掉字符串中的重复项Function NoRepeat(Inp,Sp)Dim aa,flag,words,length,i,j,k,sp1,sp2,cc aa = InpDoflag = Falsewords = Split(aa,Sp)length = UBound(words)For i = 0 To (length -1)sp1 = words(i)For j = (i+1) To lengthsp2 = words(j)If sp1 = sp2 Thenflag = Trueaa = ""For k = 0 To (j-1)aa = aa & words(k) & spNextFor k = (j + 1) To lengthaa = aa & words(k) & spNextcc = Len(aa)aa = Left(aa,(cc - 1))End IfNextIf flag = True ThenExit ForEnd ifNextLoop Until flag = falseNoRepeat = aaEnd Function'求字符串长度(中文算2个西文字符)Function GetLen(Str)Dim singleStr, i, iCountiCount = 0For i = 1 to len(Str)singleStr = mid(Str,i,1)If asc(singleStr) < 0 TheniCount = iCount + 2ElseiCount = iCount + 1End IfNextGetLen = iCountEnd Function'运行指定程序Sub RunApp(command)Dim WshShellset WshShell = CreateObject("Wscript.Shell")WshShell.Exec commandEnd Sub'求下一天是几号的函数Function Nextday(ByVal inputday)Dim temp, num, OPYear, OPMonth, OPDay, ret, flag temp = Split(CStr(inputday), "-")num = UBound(temp) + 1OPYear = temp(0)OPMonth = temp(1)OPDay = temp(2)flag = 0If OPMonth = 1 Or OPMonth = 3 Or OPMonth = 5 Or OPMonth = 7 Or OPMonth = 8 Or OPMonth = 10 Or OPMonth = 12 ThenIf OPDay > 31 Or OPDay < 1 Thenflag = 1End IfElseIf OPMonth = 4 Or OPMonth = 6 Or OPMonth = 9 Or OPMonth = 11 Then If OPDay > 30 Or OPDay < 1 Thenflag = 1End IfElseIf ISLeapYear(OPYear) ThenIf OPDay > 29 Or OPDay < 1 Thenflag = 1End IfElseIf OPDay > 28 Or OPDay < 1 Thenflag = 1End IfEnd IfEnd IfIf flag = 1 Or num <> 3 ThenMsgBox "输入参数不对劲", , "Nextday函数提示"ElseIf OPMonth = 1 Or OPMonth = 3 Or OPMonth = 5 Or OPMonth = 7 Or OPMonth = 8 Or OPMonth = 10 Or OPMonth = 12 Then 'big monthIf OPDay = 31 ThenOPDay = 1If OPMonth = 12 ThenOPMonth = 1OPYear = OPYear + 1ElseOPMonth = OPMonth + 1OPYear = OPYearEnd IfElseOPDay = OPDay + 1End IfElseIf OPMonth = 4 Or OPMonth = 6 Or OPMonth = 9 Or OPMonth = 11Then 'small monthIf OPDay = 30 ThenOPDay = 1If OPMonth = 12 ThenOPMonth = 1OPYear = OPYear + 1ElseOPMonth = OPMonth + 1OPYear = OPYearEnd IfElseOPDay = OPDay + 1End IfElse 'February If ISLeapYear(OPYear) ThenIf OPDay = 29 ThenOPDay = 1If OPMonth = 12 ThenOPMonth = 1OPYear = OPYear + 1ElseOPMonth = OPMonth + 1OPYear = OPYearEnd IfElseOPDay = OPDay + 1End IfElseIf OPDay = 28 ThenOPDay = 1If OPMonth = 12 ThenOPMonth = 1OPYear = OPYear + 1ElseOPMonth = OPMonth + 1OPYear = OPYearEnd IfElseOPDay = OPDay + 1End IfEnd IfEnd Ifret = OPYear & "-" & OPMonth & "-" & OPDayNextday = retEnd IfEnd Function'是否闰年Function ISLeapYear(ByVal inYear)If ((inYear Mod 4 = 0 And inYear Mod 100 <> 0) Or inYear Mod 400 = 0) Then ISLeapYear = TrueElseISLeapYear = FalseEnd IfEnd Function'计算两个日期之间相隔几天Function Days(ByVal SourceData, ByVal DesData)Dim flag, temp1, temp2, OPYear1, OPYear2, OPMonth1, OPMonth2, OPDay1, OPDay2, i, tempDaytemp1 = Split(SourceData, "-")temp2 = Split(DesData, "-")If ((UBound(temp1) + 1) <> 3) Or ((UBound(temp2) + 1) <> 3) Then MsgBox "输入参数不对劲", , "Days函数提示"End IfOPYear1 = temp1(0)OPMonth1 = temp1(1)OPDay1 = temp1(2)OPYear2 = temp2(0)OPMonth2 = temp2(1)OPDay2 = temp2(2)If CInt(OPYear1) <> CInt(OPYear2) ThenIf CInt(OPYear1) > CInt(OPYear2) Thenflag = "big"ElseIf CInt(OPYear1) < CInt(OPYear2) Then flag = "small"End IfElseIf CInt(OPMonth1) <> CInt(OPMonth2) Then If CInt(OPMonth1) > CInt(OPMonth2) Then flag = "big"ElseIf CInt(OPMonth1) < CInt(OPMonth2) Then flag = "small"End IfElseIf CInt(OPDay1) <> CInt(OPDay2) ThenIf CInt(OPDay1) > CInt(OPDay2) Thenflag = "big"ElseIf CInt(OPDay1) < CInt(OPDay2) Then flag = "small"End IfElseflag = "="End IfEnd IfEnd IfIf (flag = "big") Theni = 1tempDay = DesDataDotempDay = Nextday(tempDay)i = i + 1Loop Until tempDay = SourceDatai = i - 1ElseIf (flag = "small") Theni = 1tempDay = SourceDataDotempDay = Nextday(tempDay)i = i + 1Loop Until tempDay = DesDatai = i - 1Elsei = 0End IfDays = iEnd Function'检查身份证号是否正确Function Identification(Text1)xian = Text1If (Not IsNumeric(Left(Text1, 15)) And Not IsNumeric(Left(Text1, 18))) Or Text1 = "" Then Identification = FalseExit FunctionEnd Iflenx = Len(Trim(Text1))If lenx = 15 Or lenx = 18 ThenIf lenx = 15 Thenyy = "19" & Mid(xian, 7, 2)mm = Mid(xian, 9, 2)dd = Mid(xian, 11, 2)aa = Right(xian, 1)End IfIf lenx = 18 Thenyy = Mid(xian, 7, 4)mm = Mid(xian, 11, 2)dd = Mid(xian, 13, 2)aa = Right(xian, 1)End IfIf CInt(mm) > 12 Or CInt(dd) > 31 ThenIdentification = FalseExit FunctionElseIdentification = TrueExit FunctionEnd IfElseIdentification = FalseExit FunctionEnd IfEnd Function'检查是否存在数字Function checkString (myString)checkString = FalseDim myChrFor myChr = 48 to 57If InStr(myString,Chr(myChr)) > 0 ThencheckString = TrueExit FunctionEnd IfNextEnd Function'查询Access数据库字符出现次数Function Access_GetCount(DBlocation,TableName,Value)set con=createobject("adodb.connection")con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DBlocation set record = createobject("adodb.recordset")sql="select * from " & TableNamerecord.open sql,conDOif(record("name")=Value)thennum=num+1end Ifrecord.MoveNextloop until record.eof=Truerecord.closeset record=Nothingcon.closeset con=NothingIf num = 0 ThenAccess_GetCount = 0ElseAccess_GetCount = numEnd IfEnd Function'按ASCII码值冒泡排序Function BubbleSort(VString,Spl,Func) Dim Str,StrLength,i,jStr = Split(VString,Spl)StrLength = UBound(Str) + 1For i = 1 To (StrLength-1)For j = (i+1) To StrLengthIf Func = 1 thenIf Asc(Str(i-1)) < Asc(Str(j-1)) Then Call Swap(Str(i-1),Str(j-1))End IfElseIf Asc(Str(i-1)) > Asc(Str(j-1)) Then Call Swap(Str(i-1),Str(j-1))End IfEnd IfNextNextj = ""For i = 1 To StrLengthj = j & Str(i-1) & SplNextj = Left(j,(StrLength * 2 -1))BubbleSort = jEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''以下为仅QuickTest适用函数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''让QTP运行时保持最小化Public Sub QTP_Small()Dim objQTPWinSet objQTPWin = GetObject("" , "QuickTest.Application")objQTPWin.WindowState = "Minimized"Set objQTPWin = NothingEnd Sub'恢复QTP窗口Public Sub QTP_Big()Dim objQTPWinSet objQTPWin = GetObject("" , "QuickTest.Application")objQTPWin.WindowState = "Restored"Set objQTPWin = NothingEnd Sub'写文件函数(追加)'输入值:写入内容Public Function QTP_WriteFile(pathway,words)Dim fileSystemObj,fileSpec,logFile,waySet fileSystemObj = CreateObject("Scripting.FileSystemObject") fileSpec = pathwaySet logFile = fileSystemObj.OpenTextFile(fileSpec, 8, true)logFile.WriteLine (CStr(words))logFile.CloseSet logFile = NothingEnd Function'写文件函数(改写)'输入值:写入内容Public Function QTP_WriteFile_Change(pathway,words) Dim fileSystemObj,fileSpec,logFile,waySet fileSystemObj = CreateObject("Scripting.FileSystemObject") fileSpec = pathwaySet logFile = fileSystemObj.OpenTextFile(fileSpec, 2, true)logFile.WriteLine (CStr(words))logFile.CloseSet logFile = NothingEnd Function'读Excel文件元素Public Function QTP_Read_Excel(pathway,sheetname,x,y)Dim srcData,srcDoc,retset srcData = CreateObject("Excel.Application")srcData.Visible = Trueset srcDoc = srcData.Workbooks.Open(pathway)srcDoc.Worksheets(sheetname).Activateret = srcDoc.Worksheets(sheetname).Cells(x,y).valuesrcData.Workbooks.CloseWindow("text:=Microsoft Excel").CloseQTP_Read_Excel = retEnd Function'写Excel文件元素并保存退出Public Function QTP_Write_Excel(pathway,sheetname,x,y,content) Dim srcData,srcDoc,sp1,sp2,num,use,a1,a2,a3set srcData = CreateObject("Excel.Application")srcData.Visible = Trueset srcDoc = srcData.Workbooks.Open(pathway)srcDoc.Worksheets(sheetname).ActivatesrcDoc.Worksheets(sheetname).Cells(x,y).value = content' sp1 = Split(pathway,".")' sp2 = Split(sp1(0),"/")' num = UBound(sp2)' use = sp2(num)' Set a1 = Description.Create()' a1("text").value="Microsoft Excel - " + use + ".xls"' a1("window id").value="0"' Set a3 = Description.Create()' a3("Class Name").value="WinObject"' a3("text").value= use + ".xls"' Window(a1).WinObject(a3).Type micCtrlDwn + "s" + micCtrlUpDim WshShellSet WshShell=CreateObject("Wscript.Shell")WshShell.SendKeys "^s"wait(1)srcData.Workbooks.CloseSet srcDoc = nothingWindow("text:=Microsoft Excel").CloseEnd Function'定时停留弹出框函数Sub QTP_Msgbox(Value,waitTime,Title)Dim WshShellSet WshShell = CreateObject("WScript.Shell")WshShell.Popup Value, waitTime, TitleSet WshShell = nothingEnd Sub'改变Excel的单元格颜色Public Function QTP_Change_Color(pathway,sheetname,x,y,color) Dim srcData,srcDoc,sp1,sp2,num,use,a1,a2,a3set srcData = CreateObject("Excel.Application")srcData.Visible = Trueset srcDoc = srcData.Workbooks.Open(pathway)srcDoc.Worksheets(sheetname).ActivateIf color = "red" ThensrcDoc.Worksheets(sheetname).Cells(x,y).Interior.color=vbredElseIf color = "green" ThensrcDoc.Worksheets(sheetname).Cells(x,y).Interior.color=vbgreen ElseMsgBox "输入的颜色参数不正确,只接收""red""和""green"""End IfDim WshShellSet WshShell=CreateObject("Wscript.Shell")WshShell.SendKeys "^s"wait(1)srcData.Workbooks.CloseSet srcDoc = nothingWindow("text:=Microsoft Excel").CloseEnd Function'捕获当前屏幕(截图)Public Function QTP_Capture(pathway)Dim datestampDim filenamedatestamp = Now()filename = Environment("TestName")&"_"&datestamp&".png" filename = Replace(filename,"/","")filename = Replace(filename,":","")filename = pathway + "/" + ""&filenameDesktop.CaptureBitmap filename'Reporter.ReportEvent micFail,"image","<img src='" & filename & "'>"End Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''QuickTestPlus 帮助文件对于Excel库函数仅QTP适用'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim ExcelApp 'As Excel.ApplicationDim excelSheet 'As Excel.worksheetDim excelBook 'As Excel.workbookDim fso 'As Scripting.FileSystemObjectFunction CreateExcel() 'As Excel.ApplicationDim excelSheet 'As Excel.worksheetSet ExcelApp = CreateObject("Excel.Application") 'Create a new excel Object ExcelApp.Workbooks.AddExcelApp.Visible = TrueSet CreateExcel = ExcelAppEnd FunctionSub CloseExcel(ExcelApp)Set excelSheet = ExcelApp.ActiveSheetSet excelBook = ExcelApp.ActiveWorkbookSet fso = CreateObject("Scripting.FileSystemObject")On Error Resume Nextfso.CreateFolder "C:/Temp"fso.DeleteFile "C:/Temp/ExcelExamples.xls"excelBook.SaveAs "C:/Temp/ExcelExamples.xls"ExcelApp.QuitSet ExcelApp = NothingSet fso = NothingErr = 0On Error GoTo 0End SubFunction SaveWorkbook(ExcelApp, workbookIdentifier, path) 'As String Dim workbook 'As Excel.workbookOn Error Resume NextSet workbook = ExcelApp.Workbooks(workbookIdentifier)On Error GoTo 0If Not workbook Is Nothing ThenIf path = "" Or path = workbook.FullName Or path = Then workbook.SaveElseSet fso = CreateObject("Scripting.FileSystemObject")If InStr(path, ".") = 0 Thenpath = path & ".xls"End IfOn Error Resume Nextfso.DeleteFile pathSet fso = NothingErr = 0On Error GoTo 0workbook.SaveAs pathEnd IfSaveWorkbook = 1ElseSaveWorkbook = 0End IfEnd FunctionSub SetCellValue(excelSheet, row, column, value)On Error Resume NextexcelSheet.Cells(row, column) = valueOn Error GoTo 0End SubFunction GetCellValue(excelSheet, row, column)value = 0Err = 0On Error Resume NexttempValue = excelSheet.Cells(row, column)If Err = 0 Thenvalue = tempValueErr = 0End IfOn Error GoTo 0GetCellValue = valueEnd FunctionFunction GetSheet(ExcelApp, sheetIdentifier) 'As Excel.worksheet On Error Resume NextSet GetSheet = ExcelApp.Worksheets.Item(sheetIdentifier)On Error GoTo 0End FunctionFunction InsertNewWorksheet(ExcelApp, workbookIdentifier, sheetName) 'As Excel.worksheetDim workbook 'As Excel.workbookDim worksheet 'As Excel.worksheet'In case that the workbookIdentifier is empty we will work on the active workbook If workbookIdentifier = "" ThenSet workbook = ExcelApp.ActiveWorkbookElseOn Error Resume NextErr = 0Set workbook = ExcelApp.Workbooks(workbookIdentifier)If Err <> 0 ThenSet InsertNewWorksheet = NothingErr = 0Exit FunctionEnd IfOn Error GoTo 0End IfsheetCount = workbook.Sheets.Countworkbook.Sheets.Add , sheetCountSet worksheet = workbook.Sheets(sheetCount + 1)If sheetName <> "" Then = sheetNameEnd IfSet InsertNewWorksheet = worksheetEnd FunctionFunction CreateNewWorkbook(ExcelApp)Set NewWorkbook = ExcelApp.Workbooks.Add()Set CreateNewWorkbook = NewWorkbookEnd FunctionFunction OpenWorkbook(ExcelApp, path)On Error Resume NextSet NewWorkbook = ExcelApp.Workbooks.Open(path)Set OpenWorkbook = NewWorkbookOn Error GoTo 0End FunctionSub ActivateWorkbook(ExcelApp, workbookIdentifier)On Error Resume NextExcelApp.Workbooks(workbookIdentifier).ActivateOn Error GoTo 0End SubSub CloseWorkbook(ExcelApp, workbookIdentifier)On Error Resume NextExcelApp.Workbooks(workbookIdentifier).CloseOn Error GoTo 0End SubFunction CompareSheets(sheet1, sheet2, startColumn, numberOfColumns, startRow, numberOfRows, trimed) 'As BooleanDim returnVal 'As BooleanreturnVal = TrueIf sheet1 Is Nothing Or sheet2 Is Nothing ThenCompareSheets = FalseExit FunctionEnd IfFor r = startRow to (startRow + (numberOfRows - 1))For c = startColumn to (startColumn + (numberOfColumns - 1))Value1 = sheet1.Cells(r, c)Value2 = sheet2.Cells(r, c)If trimed ThenValue1 = Trim(Value1)Value2 = Trim(Value2)End IfIf Value1 <> Value2 ThenDim cell 'As Excel.Rangesheet2.Cells(r, c) = "Compare conflict - Value was '" & Value2 & "', Expected value is '" & Value1 & "'."Set cell = sheet2.Cells(r, c)cell.Font.Color = vbRedreturnVal = FalseEnd IfNextNextCompareSheets = returnValEnd Function'写入word文件Sub QTP_WriteWord(pathway,content)Dim oWord,oRange,oDocSet oWord = CreateObject("Word.Application")oWord.documents.open pathway,forwriting, TrueSet oDoc = oWord.ActiveDocumentSet oRange = oDoc.contentoRange.insertafter contentoWord.ActiveDocument.Save' Dim WshShell' Set WshShell=CreateObject("Wscript.Shell")' WshShell.SendKeys "^s"' wait(1)oWord.Application.Quit True Set oRange = NothingSet oDoc = NothingSet oWord = NothingEnd Sub。