简介: 这篇文章将详细介绍 EPIC 组件的安装,EPIC 编辑环境,调试运行环境,着重介绍如何使用 EPIC 来快速、简便、准确地调试 Perl 语言程序,包括对于 Perl 程序的单步执行,断点用法,局部、全局变量实时监控,子函数执行监控,错误以及警告信息实时显示等等内容。利用 EPIC 强大编辑以及调试功能,可以将 Perl 语言适合花短时间完成程序的特点发挥地淋漓尽致,为 tester 的自动化测试脚本提供更加人性化的设计、调试环境。

安装前准备

安装之前需要准备几个重要的组件:

  1. Perl 语言编译器

    版本要求是 5.8.X 或以上,大多数 UNIX/LINUX 安装包都包括了 Perl 语言编译器的选装包,对于 Windows 平台,可以去指定网站下载相应的安装包 。

  2. 1、下载并安装windows下perl环境: AcitvePerl for Windows
         http://www.activestate.com/activeperl/downloads

  3. 2、安装完以后,在cmd中输入“perl -v”查看是否已经安装成功

  4. Eclipse

  5. 在安装 EPIC 插件之前,选择一个最新版本 Eclipse 进行安装是必不可少的步骤,对于 Eclipse 的版本最低要求是 version 3.1,可以从 [http://www.eclipse.org] 下载 Eclipse 安装包。

    由于 Eclipse 安装包不包括 Java Runtime Environment(JRE),为此,我们还需要安装Java 1.4.1 或是更高版本的 Java。

  6. PadWalker(全局变量跟踪器)

    这个模块不是必须要装的,它的功能就是在 Debug Perl 程序的过程中,监视全局变量的值。怎么样?不能实时监视全局变量的值是任何一个程序员无法忍受的‘减配’吧,为了发挥 EPIC 比较完整调试功能,千万不要拉下这个模块。可以从 CPAN (PadWalker 0.10) 下载这个包,如果是在 window 平台,安装方法如下。

  7. 安装方法:开始-->所有程序(Win7),程序(xp)-->ActivePerl 5.xx.xx Build xxxx-->Perl Package Manager,在Perl Package Manager窗口中选择:
            1)点击view all package,然后输入padwalker;
            2)点击mark for install;
            3)点击run mark action;
            **这几个按钮在右上角同一行里**

安装 EPIC

使用 Eclipse 软件的 Eclipse Update Manager 功能去安装 EPIC。

打开 Eclipse, 进入菜单 Help->Software and Updates ->Find and Install...

如图 1 所示:

图 1. EPIC 下载及安装

选择“Search for new features to install” 选择 Next,

选择“Add Update Site... “,在弹出一个对话框中填写用户名和有效的 URL: http://www.epic-ide.org/updates/testing,如图 2 所示:

图 2. EPIC 下载网址

继续选择' Next ', 直到完成。

安装 PadWalker(全局变量跟踪器)

  1. 下载适用于 Perl 5 .8.x的 PadWalker 压缩软件包。
  2. 解压以后把文件拷贝到 perl 安装目录,比如 C:\Perl。

EPIC 编辑环境

EPIC 提供了多功能的编辑器,可以方便用户编写 perl 程序,提供了语法高亮显示、语法即时检测、错误以及警告信息注释、Perldoc 查询、变量检查、模块检查、源码折叠等一系列功能,对于编写测试自动化脚本的工程师,书写脚本是整个测试工作的很麻烦的一部分,我们都希望有这个一个利器,能方便快捷地处理这些工作,很幸运,EPIC 帮我们实现了这一切。如图 3 所示:

图 3. EPIC 编辑对话框

配置 Perl 程序运行调试环境

创建工程并输入文件

  1. 创建一个新工程(也可以在一个已存在的工程中加入你自己的工程)
  2. 在菜单'File '中选择'Import',当然,也可以新建文件,并用 EPIC 编辑器来编写相关 Perl 程序,对于 EPIC 编辑器,在上文有相关介绍。
  3. 从弹出的列表中选择'File System'。如图 4 所示:

图 4. 选择将要导入的文件系统

4. 选择‘ Next ’

5. 在弹出的面板中,单击‘ Browse ’选择要输入文件所在的文件夹,输入文件将会出现在面板上,在此,单击文件前面的复选框,就可以选择要输入到工程中去的文件。如图 5 所示:

图 5. 导入文件

6 .单击‘ Finish ’完成当前工作。

配置 Perl 编译器运行环境

在 Eclipse 环境中,调用 Perl 语言编译器来运行调试工程文件,就必须做相应配置,单击菜单‘ project ’,选择‘ Properties ’,将上一步输入工程的文件的绝对路径填写到弹出面板右侧编辑区。如图 6 所示:

图 6.Include 文件路径

配置调试对话框

首先,对于选中的工程文件,在 EPIC 主界面上选择菜单‘ Run ‘,并在弹出下拉框中选择’ Open Debug Dialog ’,再修改如下配置(选择工程以及要调试的文件):

如图 7 所示:

图 7. 调试对话框配置 1

对于 Perl 程序的运行调试都需要添加 Program Argument,我们可以为新建项目增加 Argument,EPIC 插件也提供了这方面的接口,打开 Debug 对话框,并在项目中 argv items in “(x)= Arguments” 添加相应的 Argument。如图 8 所示:图 8. 调试对话框配置 2

EPIC 调试运行过程

任何程序的调试与运行都是密不可分的,从程序工程师的角度来看,一个程序从编写完毕到最后成功完成,都是一个运行、修改、调试、再运行、再修改、再调试。。。

的过程。EPIC 提供了完整的调试运行环境。

EPIC 运行程序

对于选中的工程文件,在 EPIC 主界面上选择菜单‘ Run ‘,并在弹出下拉框中选择’ Run ’,如图 9 所示:红线框住的区域表示程序的整个运行过程和结果都可以看到。

图 9. EPIC 运行程序界面

EPIC 调试程序(俗称‘ Debug ’程序)

相比较运行程序而言,这一过程显得复杂得多,这也是这篇文件的精髓所在,前面都是为这一步在做必要地铺垫。对于程序员而言,调试程序是不可避免的,通常将要调试的线程挂起,然后利用单步执行方式来实现对整个程序的一行一行代码地执行,同时,观察每一步运行的结果,以及掌握运行过程中变量的变化情况。

EPIC 提供了多种调试操作功能以方便用户实现在编程中的切实需求,包括单步执行、跳入子函数、跳出子函数、断点设置、断点取消、直接执行语句段直至断点位置等等。

  1. Step Over– 单步执行函数、循环 loop、或执行其他普通语句。正待执行的代码行在 EPIC 编辑器中会被高亮显示出来,此时,线程处于挂起状态,在 Debug 视图工具条中按下这个功能图标 ()(相应的快捷键是' F6 ')后,该行语句将被执行,完毕后,将自动跳转到下一行待执行语句,并使其呈高亮显示状态,该线程继续挂起等待下一步指令。
  2. Step Into– 可以执行进入函数、循环 loop、或执行其他普通语句。在 Debug 视图工具条中按下这个功能图标 ()(相应的快捷键是'F5'),该功能类同上述‘ Step Over ’,不同之处在与:如果该语句中含有子函数,循环等结构,'Step Over'是直接后台执行完这些子函数或是循环,并返回结果。但是'Step Into'却会按执行栈的顺序执行方式,依次跳入子函数或循环提供单步执行的功能。
  3. Step Return– 这一功能是针对执行过程已经进入子函数后,可以从当前代码行开始直接后台执行完该子函数剩余代码并返回,不用再单步执行该子函数。在 Debug 视图工具条中按下这个功能图标 ()(相应的快捷键是'F7')。

4. 如果要直接后台执行到最近的下一个程序断点位置可以使用快捷键‘ F8 ‘来实现这一功能。在主界面中选择菜单‘ Run ‘ -> ’ Debug ’ , 就进入程序调试状态了,我们可以选择调试操作方式,包括单步执行、跳到最近的下一个断点再执行,跳入子函数等等,针对这些操作过程中,对于工程师来说,始终关注的都是整个程序的运转情况以及掌握每一步执行操作完成后相关变量的变化情况,为此,我们有必要介绍一些视图,利用这些视图,我们可以更好的掌握程序的调试状况,以利于下一步操作。

首先,进入调试界面接口,可以在主界面中选择:Window-> Show View ->Debug,在弹出来的视图里,可以管理在工作区的正在被调试或是运行程序,它显示了一个工程框架、工作过程中的程序运行状况等等。如图 10 所示:

图 10. EPIC 调试窗口

变量视图能够显示程序在运行过程中的变量的值以及其实时变化情况,这一功能对于调试工作来说是尤为重要的,变量是程序的‘血液‘,程序代码就是通过变量来连接的,掌握变量的情况,就是掌握整个程序的运行状况。

在变量视图里面,可以看到变量栈的框架结构,它显示变量的原始状态,包括结构体变量、哈希变量、list 变量或是对象等等。

全局变量(包括 Perl 内部变量)都有特定图标 , 标注,本地变量有特定图标 (如前文介绍,本地变量必须是安装了 PadWalker 模块才能看见)。

如图 11 所示:

图 11. EPIC 调试窗口

断点视图可以显示该程序文件中所有的断点、它们的状态以及位置。在这个视图里,可以通过选择一个或断点,并激活对应断点的程序文本框,来设定、使之无效或是取消断点。

如图 12 所示:

图 12. EPIC 调试跟踪

总结

综上所述,我们已经看到了一个集编辑、编译、调试 Perl 程序为一体的图形化的工具,它解决了若干年来一直困扰着测试工作者的对于 Perl 语言编写自动化脚本‘调试难’的问题。它简洁明了、功能强大的编辑环境也给 Perl 语言编程者带来了世外桃源般得享受。最重要的是获取这一切,您都采取的是免费的方式,因为所有的组件都是开源的,这是一款非常值得推荐的软件工具。

参考资料

http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-epic/

perl环境配置以及Eclipse安装perl开发插件的更多相关文章

  1. Eclipse开发环境配置,打磨Eclipse,安装插件(适用3.4,3.5,3.6,3.7)

    转载自:http://elf8848.iteye.com/blog/354035 打磨Eclipse -- 磨刀不误砍柴工 -------------------------------------- ...

  2. JDK和环境配置,eclipse安装与使用

    本博客部分参照https://blog.csdn.net/PGY0000/article/details/79256720 (记住要尊重别人的劳动产品) 原博客给的链接和后面的安装过程有点不一样,不能 ...

  3. windows下Eclipse安装Perl插件教程

    windows下Eclipse安装Perl插件教程 想用eclipse编写perl.网上看了很多资料.但EPIC插件的下载连接都失效了.无奈,只好自己动手写个教程记录一下. 准备工作: 安装好Ecli ...

  4. Eclipse 环境下安装PhoneGap开发插件

    phoneGap开发跨所有移动平台软件已经成为未来移动终端开发的总趋势,如何在大家所熟悉的Eclipse IDE中快速安装PhoneGap开发插件,介绍如下: 点击help——>install ...

  5. eclipse安装python开发pydev插件

    eclipse安装python开发pydev插件 下载eclipse的python开发插件pydev http://pan.baidu.com/s/1qXHt8pI 下载python.exe,并安装. ...

  6. Spring(一):eclipse上安装spring开发插件&下载Spring开发包

    eclipse上安装spring开发插件 1)下载安装插件包:https://spring.io/tools/sts/all 由于我的eclipse版本是mars 4.5.2,因此我这里下载的插件包是 ...

  7. win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)

    这篇文章主要介绍了win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装.优化.安全等),需要的朋友可以参考下 win2008 r2 安装 http://www ...

  8. eclipse安装java ee插件方法步骤

    1.本人以前使用的MyEclipse进行Javaweb开发,但是后来由于myeclipse实在太臃肿,经常在运行的过程中不流畅 (可能电脑内存也不是太高吧)   !所以坚决换用eclipse,但是问题 ...

  9. [原创] 毕设---在myeclipes中安装Hadoop开发插件

    1.安装Hadoop开发插件 hadoop安装包contrib/目录下有个插件hadoop-0.20.2-eclipse-plugin.jar,拷贝到myeclipse根目录下/dropins目录下. ...

随机推荐

  1. sql只修改第一二行数据

    update t_table set colname=*  where a=1 order by id desc limit 1,2

  2. QTP10.0安装说明

    QTP10.0 安装手册 注:安装之前检查清理相关注册表:运行->regdit-HKEY_LOCAL_MACHINE->HKEY_LOCAL_MACHINE\SOFTWARE->HK ...

  3. 【pku2115-C Looooops】拓展欧几里得-不定方程

    http://poj.org/problem?id=2115 题解:一个变量从A开始加到B,每次加C并mod2^k,问加多少次.转化为不定方程:C*x+2^K*Y=B-A //poj2115 #inc ...

  4. 【PSR规范专题(5)】PSR-4 改进后的自动加载规范

    本文转自: https://github.com/PizzaLiu/PHP-FIG/blob/master/PSR-4-autoloader-cn.md 关键词 "必须"(&quo ...

  5. Properties读取资源文件的四种方法

    package com.action; import java.io.InputStream; import java.util.Locale; import java.util.Properties ...

  6. hashmap理解总结

    1.hashmap是通过存放对象的hash算法进行对象的存储的,其查询,put,get方法均是. 所以将对象存储进hashmap,set啥时候,要重写hashcode方法. 2.hash算法存储,查询 ...

  7. Hadoop基础教程之HelloWord

    上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello Word. OK,我们先来看一下当时在命令行里输入的内容: ...

  8. 忘记导入struts2-xxx-plugin-x.x.x.jar导致服务器启动报Unable to load configuration.Caused by: Parent package is not defined: xxx-default

    今天做的一个Struts2+MyFaces(JSF)+Spring的应用,为了使用JSF,我的struts.xml中使用了如下代码 <package name="jsf" e ...

  9. jenkins的搭建和使用

    Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和 ...

  10. asp天猫自主发码的请求

    这几天在做天猫自主发码.实现了通知和核销部门.其他的部分待后续实现. 值得注意的是consume回调中,要加入sign_method=md5