版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在建门面定金合同范本
- 地产中介佣金合同范本
- 土方施工安全合同范本
- 外卖骑手借款合同范本
- 外贸家具英文合同范本
- 土地农业承包合同范本
- 坚果传媒公司合同范本
- 塔吊电梯租赁合同范本
- 土地无效合同解除协议
- 器材中介服务合同范本
- DB12∕T 598.4-2024 建设项目用地控制指标第4部分:交通运输项目
- 工作迎新流程策划
- 农村活动捉鱼活动方案
- 医保局大比武活动方案
- 中学生急救知识培训
- 水肥一体化实施方案-智能水肥一体化系统课件
- 2025-2030骨髓纤维化治疗行业市场现状供需分析及投资评估规划分析研究报告
- 《建筑工程测量》课程标准
- DB13(J)∕T 203-2016 预应力混凝土竹节桩技术规程
- 场地占用免责协议书
- 输血科培训及管理制度
评论
0/150
提交评论