QTP自动化测试:随机数生成与字符串分割技巧
需积分: 31 165 浏览量
更新于2024-09-11
1
收藏 75KB DOC 举报
"qtp学习知识点总结"
在自动化测试领域,QuickTest Professional(QTP)是一款广泛使用的功能自动化测试工具。QTP允许用户创建和执行测试脚本来验证软件的功能。以下是对QTP学习中两个关键知识点的详细解释:
### 产生随机数
在QTP或VBScript中,我们可以使用`Rnd`函数来生成随机数。`Rnd`函数的值范围默认是在0到1之间,不包括0但包括1。为了生成特定范围内的随机整数,我们需要配合使用`Randomize`语句和`Int`函数。
1. **初始化随机数生成器**:
使用`Randomize`语句来初始化随机数生成器。这通常在程序开始时调用,确保每次运行时都能得到不同的随机数序列。例如:
```vb
Randomize '初始化随机数生成器
```
2. **生成指定范围内的随机整数**:
结合`Rnd`和`Int`函数,可以生成指定范围内的随机整数。例如,要生成1到6之间的随机数:
```vb
Dim MyValue
MyValue = Int((6 * Rnd) + 1) '产生1到6之间的随机数
```
要生成0到100之间的随机整数,可以这样写:
```vb
x = Int(Rnd * 100) '产生0到100之间的随机数
```
实际应用中,如在购票系统中,可能需要随机生成购票人数,如成人和儿童的数量,但需保证总数不超过9,且至少有1个成人。可以使用以下代码实现:
```vb
Randomize '初始化随机数生成器
AdultCount = Int((9 * Rnd) + 1) '产生1到9之间的随机数(成人)
ChildCount = Int(((9 - AdultCount) * Rnd) + 0) '产生0到8之间的随机数(儿童),保证总数不超过9
```
### 利用分隔符进行拆分
在处理字符串时,我们经常需要将一个字符串分解成多个部分,这时可以使用`Split`函数。`Split`函数将字符串按照指定的分隔符拆分成数组。
1. **基本语法**:
`Split(expression, delimiter, limit, compare)`
- `expression`:要拆分的字符串。
- `delimiter`:作为分隔符的字符串或正则表达式。
- `limit`:可选,限制返回的子字符串数量。
- `compare`:可选,确定比较方式,如文本比较或二进制比较。
2. **示例**:
```vb
Dim MyString, MyArray, Msg
MyString = "VBScriptXisXfun!"
MyArray = Split(MyString, "x", -1, 1)
'MyArray(0) contains "VBScript".
'MyArray(1) contains "is".
'MyArray(2) contains "fun!".
```
在这个例子中,`Split`函数使用"x"作为分隔符,返回了一个包含三个子字符串的数组。
实际应用中,如果需要从像"¥68.00/人"这样的格式中提取价格,可以使用`Split`函数按分隔符"¥"或"/"来提取数字。例如:
```vb
MyString = DataTable("成人单价")
PriceArray = Split(MyString, "¥") '假设¥前是价格
Price = PriceArray(1) '获取价格
```
如果需要进一步处理,可以根据实际的分隔符和数据格式进行相应的操作。
通过掌握这些QTP中的基本技巧,可以更有效地编写和执行测试脚本,提高自动化测试的效率和准确性。
2009-06-09 上传
2008-07-18 上传
2009-03-12 上传
2014-07-28 上传
2013-06-22 上传
2010-05-07 上传
2009-07-01 上传
2011-05-05 上传
df_124
- 粉丝: 1
- 资源: 7
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫