PERL如何用於自動化測試

2021-09-11 13:35:06 字數 2723 閱讀 4847

perl廣泛用於自動化。它可能不是世界上最好的程式語言,但它最適合某些型別的任務。我們來討論perl用於自動化測試的位置和原因。

儲存測試

什麼是儲存?資料儲存在files中。

假設,我們有乙個與儲存相關的測試用例,我們必須在乙個分割槽上寫入資料,讀取並驗證資料是否正確寫入。

這可以手動完成,但手動測試儀可以執行相同的10000次嗎?這將是一場噩夢!我們需要自動化

自動化與儲存相關的任何事物的最佳工具是perl,因為它具有檔案處理技術,regex和強大的檔案解析,與其他程式語言相比,它消耗的執行時間最短。

為什麼我們需要測試儲存?想想大型資料中心,資料將從乙個系統連續流向另乙個系統,每秒儲存1000個記錄。測試這種儲存機制的穩健性至關重要。

如果您對perl automation感興趣,那麼建議您了解儲存和網路概念。

伺服器和網路測試:

perl廣泛用於伺服器正常執行時間和效能監控。

考慮乙個擁有100臺主機(伺服器)的資料中心。您需要連線到每個主機,遠端執行某些命令。您還需要重新啟動系統並檢查它何時重新聯機。

手動為所有100個主機執行此任務將是一場噩夢。但我們可以使用perl輕鬆實現自動化

使用perl設計實現上述自動化的步驟

從檔案中獲取有關主機資訊的輸入,例如(ip,使用者名稱和密碼)。

使用net :: ssh2連線到每個系統並建立執行命令的通道。

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

重新啟動系統。

等待10分鐘以使系統出現。

使用net :: ping模組ping系統並列印狀態。

我們將編寫上述場景的**。

我們來乙個名為input.txt的檔案,它將儲存我們需要連線並執行命令的所有主機的完整資訊。

input.txt

192.168.1.2 root密碼

192.168.1.3 root密碼

192.168.1.4 root root123

hostcheck.pl

use net::ssh2;

use net::ping;

use strict;

use warnings;

my $ping = net::ping->new(); # creating object for net::ping

my $sshobj = net::ssh2->new(); #creating object for net::ssh2

open( fh, "input.txt" ); # opening file and placing content to fh

my @hosts = ;

my $ip;

my @ips;

foreach (@hosts)

if ( $_ =~ /(.*)s+(w+)s+(.*)/ ) #regex to get each info from file

$ip = $1;

my $user = $2;

my $password = $3;

$sshobj->connect($ip);

print "connecting to host -- $ip --uname:$user --password:$password ";

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

print "$status ";

die("unable to establish connection to -- $ip") unless ($status);

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

print "$_ " while <$shell>;

$shell->blocking(1);

$shell->pty('tty');

$shell->shell();

sleep(5);

#executing the list of command on particular host. can be any command

print $shell "ls ";

print "$_ " while <$shell>;

print $shell "ps ";

print "$_ " while <$shell>;

print $shell "dir ";

print "$_ " while <$shell>;

print $shell "init 6 "; #rebooting the system

push( @ips, $ip );

sleep 600;

foreach (@ips)

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

print "$_ is alive. " if $ping->ping($_);

else

print "$_ is not still up --waiting for it to come up ";

網路測試

perl不僅限於儲存和網路測試。我們還可以使用perl執行基於web的測試。www-mechanize是用於web測試的乙個模組。基本上,它不會啟動任何瀏覽器來測試web應用程式的功能,而是使用html頁面的源**。

我們還可以使用selenium ide,rc,web驅動程式執行基於瀏覽器的測試。selenium支援perl。

如何用 Python 做自動化測試

python 3 環境的部署搭建 selenium 的定位元素操作 對頁面元素的 8 中定位操作 自動化測試框架的設計架構 對框架的構建有屬於自己的思路 docker for jenkins 整合自動化測試 讓測試用例自己執行 本場 chat 可以讓喜歡自動化測試的讀者從入門到掌握企業自動化測試框架...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

如何用 Python 編寫自動化介面測試工具

隨著業務的增長需求介面越來越繁多,如何保證api介面上線後的可用性,後端工程師的自測尤其重要,如何減少後端工程師自測時間,後端團隊擁有一套介面測試工具顯得尤其重要。同時發布過程中開發 預發布 生產環境的切換,有一套自動化介面測試工具讓你事半功倍。無論你是後端工程師還是測試工程師,只有你懂 pytho...