软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>其他相关>>正文
TCL/EXPECT自动化测试脚本实例一 --- telnet到目标机器
文章出处:网络 作者: 发布时间:2007-02-26

    这是一个简单的TCL/EXPECT脚本,完成telnet到远程设备的功能。通过这个例子,大家可以看到使用TCL/EXPECT脚本构造测试程序,是非常简洁的。

    从今天开始,陆续把我所写的一些自动测试脚本贴上来,希望对初学者有所帮助。由于目前没有找好合适的服务器存放代码,所以代码先贴在blog的正文中,以后再提供完整的代码下载。

    我的自动化测试脚本运行在debian linux下,使用/usr/bin/expect进行解释执行。为了简化处理,把一些常用的功能编写成函数,放在commonLib.exp文件中,其它脚本文件可以使用source commonLib.exp命令引用这些函数。
下面的函数完成telenet到目标机器并login。从其实现上大家可以看到tcl/expect编写测试脚本的简洁。
这个函数带有三个参数,分别是目标机器的IP地址ipaddr,登录用户名user和登录密码,telenet的端口号采用默认的23端口。
函数中使用了三个全局变量,g_prompt,g_usrPrompt和g_pwdPrompt,分别表示登录后的命令提示符,提示用户名输入的提示符,以及提示密码输入的提示符,这三个全局变量定义在global.exp中。之所以采用全局变量,是因为这些值使用比较广泛,但在不同设备中都不相同。使用全局变量可以方便修改。

代码如下:

#************************************************
# telnet login routine
#
# @PARAMS
# ipaddr - remote device ip address
# user   - user name to login in
# passwd - login password
#
# @RETURN
# spawn_id if login success, otherwise 0
#************************************************
proc login {ipaddr user passwd} {
    global g_prompt g_usrPrompt g_pwdPrompt

    spawn telnet $ipaddr
    expect {
        "$g_usrPrompt" {
            exp_send "$user\r\n"
            exp_continue
        }
        "$g_pwdPrompt" {
            exp_send "$passwd\r\n"
            exp_continue
        }
        -ex "$g_prompt" {
            dbgLog "Login Successful\n"
            return $spawn_id
        }
        timeout {
            send_user "timeout"
            return 0
        }
    }
}

下一页


站内搜索
相关文章
◎不太适合做测试的几种人
◎软件测试常见问题种种(一)
◎在面试中看清自己
◎追求代码质量: 通过测试分类实现敏捷构建三
◎追求代码质量: 通过测试分类实现敏捷构建二
◎追求代码质量: 通过测试分类实现敏捷构建一
◎解析测试工程师职业发展瓶颈三
◎解析测试工程师职业发展瓶颈二
◎解析测试工程师职业发展瓶颈一
◎试点项目的特点及处理方式
◎软件评测师考试经验分享
◎如何评价测试人员的工作绩效?
◎测试经理的能力要求
◎管理一个测试组织涉及到的相关概念
◎各种类型的软件的测试应该是相通的
◎MP3芯片方案
◎accessibility test的拓宽思维
◎测试人员如何获得高薪?
◎从企业问题来了解软件测试人员的作用
◎关于测试工作考核
◎测试就是不断的总结与创新
◎测试员的职责
◎从十大经典故事中学管理
◎优秀测试人员所具备的素质
◎一位软件测试工程师的工作总结
◎测试工作的未来
◎软件测试工程师的素质
◎模糊测试
◎做软件测试至少要有四种能力
◎面向对象的系统测试
◎我的SP心得
◎如何编制成功的测试计划
◎用vbs新建文件夹的方法
◎浅谈软件测试之技巧
◎微软公司是如何测试的
◎软件人员,做什么才好?
◎提高测试覆盖度
◎我从沙龙看测试界
◎软件测试职业发展的各个阶段
◎追求代码质量: 可重复的系统测试
◎软件项目测试管理经验谈
◎软件测试过程和流程区别
◎面试问题积累-新手注意
◎测试员的职责
◎软件质量保证的最佳实践之一:Code review和Case review
◎16个月的工作感想
◎如何增加面试成功的胜算
◎《测试之道》第四篇——胡马大宛名
◎《测试之道》第三篇——吴钩霜雪明
◎《测试之道》第二篇——大道如一,过犹不及
热门文章
◎软件测试工程师面试问题选登
◎一个初级测试工程师的工作总结
◎软件测试常用术语表
◎测试人员面试三步曲
◎DOS命令大全
◎什么样的测试人员是好的测试人员
◎软件测试基本方法
◎好的测试工程师应具备的素质
◎软件测试工程师面试题
◎软件测试入门书籍(2)
◎面试官最爱问的问题背后真相
◎我在软件公司成长的三年
◎应届毕业生少走弯路的十条忠告
◎有关软件测试的术语定义集锦
◎微软的软件测试方法(一)
◎软件测试步骤
◎全景记录:软件测试工程师的一天
◎我的测试经历(1)
◎漫谈软件测试工程师的角色定位
◎谈谈对测试职业的看法
◎测试需要掌握什么
◎软件测试员自身素质培养
◎测试小技巧集锦之一黑盒测试
◎近10年最强的50本计算机图书,您读过几本?
◎软件测试人员职业发展助手
◎测试要点总结
◎如何制定成功的测试计划
◎什么是ERP,通俗版解释
◎测试的主要评测方法(1)
◎软件产品测试标准
◎测试经验交流
◎微软的软件测试方法(二)
◎编写优秀Bug报告的艺术
◎软件测试及其支持工具
◎从程序员到测试工程师
◎软件测试应遵循的八条原则
◎个人职业生涯规划发展
◎你适合做测试吗?
◎测试版本大全
◎网管和黑客都必须知道的命令
◎测试人员的挑战
◎我的测试经历(2)
◎Alpha和Beta测试简介
◎QA活动的理解与实施
◎浮躁的国内测试界—2006年测试人员招聘感悟
◎想编写出优秀技术文档,先学学这四招
◎网络最经典命令行
◎软件测试的误区
◎我的测试经历(3)
◎软件测试的心理学问题

Google提供的广告