PERL如何用于自动化测试_第1页
PERL如何用于自动化测试_第2页
PERL如何用于自动化测试_第3页
PERL如何用于自动化测试_第4页
PERL如何用于自动化测试_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PERL如何用于自动化测试

PERL如何用于自动化测试

Perl广泛用于自动化。它可能不是世界上最好的编程语言,但它最适合某些类型的任务。我们来讨论Perl用于自动化测试的位置和原因。

存储测试

什么是存储?数据存储在Files中。

若,我们有一个与存储相关的测试用例,我们必须在一个分区上写入数据,读取并验证数据是否正确写入。

这可以手动完成,但手动测试仪可以执行相同的10000次吗?这将是一场噩梦!我们需要自动化

自动化与存储相关的任何事物的最正确工具是Perl,因为它具有文件处理技术,

REGEX

和强大的文件解析,与其他编程语言相比,它耗费的执行时间最短。

为什么我们需要测试存储?想想大型数据中心,数据将从一个系统连续流向另一个系统,每秒存储1000个记录。测试这种存储机制的稳健性至关重要。

惠普,戴尔,IBM和许多效劳器制造商等许多公司都使用Perl作为测试存储和网络域功能的接口。NetApp就是这样一家公司,它完全致力于存储,并使用Perl作为编程语言来自动化测试用例。

如果您对PerlAutomation感兴趣,则倡议您了解存储和网络概念。

效劳器和网络测试:

PERL广泛用于效劳器正常运行时间和性能监控。

考虑一个拥有100台主机〔效劳器〕的数据中心。您需要连接到每个主机,远程执行某些命令。您还需要重新启动系统并检查它何时重新联机。

手动为所有100个主机执行此任务将是一场噩梦。但我们可以使用PERL轻松实现自动化

使用PERL设计实现上述自动化的步骤

从文件中获取有关主机信息的输入,示例〔IP,用户名和密码〕。

使用Net::SSH2连接到每个系统并建立执行命令的通道。

执行ex:ls,dir,ifconfig,ps等所需的命令集。

重新启动系统。

等待10分钟以使系统出现。

使用Net::Ping模块ping系统并打印状态。

我们将编写上述场景的代码。

我们来一个名为Input.txt的文件,它将存储我们需要连接并执行命令的所有主机的完整信息。

INPUT.TXT

root密码

root密码

rootroot123

HostCheck.pl

useNet::SSH2;

useNet::Ping;

usestrict;

usewarnings;

my$ping=Net::Ping->new();#CreatingobjectforNet::Ping

my$SSHObj=Net::SSH2->new();#CreatingobjectforNet::SSH2

open(FH,"Input.txt");#OpeningfileandplacingcontenttoFH

my@hosts=;

my$ip;

my@ips;

foreach(@hosts)

{

if($_=~/(.*)\s+(\w+)\s+(.*)/)#Regextogeteachinfofromfile

{

$ip=$1;

my$user=$2;

my$password=$3;

$SSHObj->connect($ip);

print"Connectingtohost--$ip--Uname:$user--Password:$password\n";

my$status=$SSHObj->auth_password($user,$password);

print"$status\n";

die("unabletoestablishconnectionto--$ip")unless($status);

my$shell=$SSHObj->channel();

print"$_\n"while;

$shell->blocking(1);

$shell->pty('tty');

$shell->shell();

sleep(5);

#Executingthelistofcommandonparticularhost.Canbeanycommand

print$shell"ls\n";

print"$_\n"while;

print$shell"ps\n";

print"$_\n"while;

print$shell"dir\n";

print"$_\n"while;

print$shell"init6\n";#rebootingthesystem

push(@ips,$ip);

}

}

sleep600;

foreach(@ips)

{

if($ping->ping($_))

{

print"$_isalive.\n"if$ping->ping($_);

}

else

{

print"$_isnotstillup--waitingforittocomeup\n";

}

}

网络测试

Perl不仅限于存储和网络测试。我们还可以使用PERL执行基于Web的测试。WWW-Mechanize是用于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论