記錄 QTP編寫指令碼

2021-10-09 11:20:25 字數 4273 閱讀 8858

——置前彈窗

--圖示:16x,32?,48!,64i(表示友好)

--按鈕:0只有確定,1確定和取消,2中止、重試、忽略,3是、否、取消,4是、否,5重試、取消

msgbox "彈窗內容文字"

,圖示+按鈕,

"彈窗標題"

變數=msgbox (

"彈窗內容文字"

,圖示+按鈕,

"彈窗標題"

)--此處變數為彈窗後選擇的按鈕值,()不能省略

——列印彈窗

--列印常變數內容到彈窗中顯示,上次回放指令碼列印的內容仍然會在下次回放時顯示,修改指令碼後回放會清空之前列印的內容

print 常變數;

——變數

a=

123b=

1.234

c="1233"

d=#2020/09

/14#

e=#2020-9

-16#

——系統常量

--vbcrlf表示回車,&連線字串

msgbox "hello"

& vbcrlf &

"vbs"

--vbtab表示tab鍵,""vbs輸出結果為"vbs,使用雙引號轉義

print "hello"

& vbtab &

"""vbs"

——陣列

a=

array(1

,2,3

)--建立陣列a,並賦值123

dim b(4

)--宣告陣列b,4為陣列最大下標b(

0)=3

--給陣列b下標為0的數賦值3

print a(1

)--列印陣列a中第二個數

print ubound

(b)+

1--列印陣列b中數的個數5,ubound

(b)表示陣列b的最大下標4

–動態陣列

--宣告陣列a時,可以先不定義最大下標,redim時,再定義陣列最大下標

dim a()

redim a(4

)

–輸入框彈窗

--a為字串,b為數字

a=inputbox

("輸入提示內容"

,"彈窗標題")b=

cbyte

(inputbox

("輸入提示內容"

,"彈窗標題"))

dim c()

redim c

(b-1

)--陣列c最大下標為輸入數字-

1msg ubound

(c)+

1

--檢視變數型別

a=

"123"

b=111

typename

(a)--string

--字串函式

--中英文在這裡都佔乙個字元

a=" 我是 qtp !"

len(a)

--10

left

(a,4

)-- 我是

right

(a,3

)--p !

mid(a,3,

4)--我是 q

trim

(a)--我是 qtp !

,去除字串兩邊空格

chr(9)

--9為tab鍵的asc碼值,可用於msgbox和print

chr(10)

&chr(13

)--回車換行,只能用於msgbox

chr(34)

--34為雙引號的asc碼值

asc(

"a")

--結果為a的asc碼值97

b="haha,lala,123"

split

(b,",",3

)--將字串b用逗號分割成3個字串,","去掉表示以空格分割,3去掉表示全部分割

--日期時間函式

now()

--日期時間,括號可省略

date()

--日期,括號可省略

year

(date)

month()

day(date)

hour

(now)

minute

(now)

second

(now)

--邏輯函式

isdate

("2020-9-16")--

true

isdate

("2020-19-11")--

false

isdate

(#2020-9

-16#)

--true

isdate

(#2020-19

-11#)

--報錯

isnumeric

(123)--

true

isnumeric

("111.23")--

true

isnumeric

("111www")--

false

--型別轉換函式

cbyte

("0")--

[0-255

]cint(""

)--[-

32768

-32767

]clng --轉成long

cdbl --轉成double

--隨機數函式

randomnumber(0

,9)--

0-9的隨機數

--運算子

a=(1

+2*3

)/7--

1a="123"

+"111"

--123111

a="123"

+111

--234

a="123"

&111

--123111

a="a"

+111

--報錯

a=9 mod 2--1

a=3=4

--falsea=3

<

>4--

truea=(

1=1) and (

2<

>2)

--falsea=(

1=1) or (

2<

>2)

--true

a=not(1

=1)--

false

--if分支

if 條件 then

if a=b then

c=int(c/10)

--c為整數,int用來取整

elseif a then

...else..

. end if

else..

.end if

--select分支

select case c

case 值1,值2..

.case 值3..

.case

else..

.end select

–while迴圈

while a<

100...

wend

–for…next迴圈

--step 3為步長,2到100(包含100)的迴圈,每迴圈一次增加3

for i=2to

100 step 3..

.next

–for each…next迴圈

--用於陣列

for each x in array..

.next

–異常處理

on error resume next

--放在可能拋異常的語句之前..

.--異常後才會執行下面錯誤號判斷

if err.number=

4then

--err為錯誤物件,err.number為錯誤號

msgbox err.description --輸出錯誤資訊

endif

linux指令碼編寫記錄

1.重啟某個埠,適用於如tomcat重啟8080埠,根據lsof命令查出,通過grep獲取指定行,awk獲取到指定列進而得出pid值關閉即可.pid lsof i 3001 grep v pid grep w listen awk echo pid if pid then kill 9 pid ec...

QTP指令碼編寫技巧 從函式中返回多個值的方法

relevantcodes.com 的 passing multiple values from functions 這篇文章介紹了如何從函式 function 中返回多個值 第一種方法是利用全域性變數,因此根本不用返回,只要直接給全域性變數賦值即可。例 dim intnumber 1 intnum...

指令碼編寫 編寫 LLDB 偵錯程式指令碼

lldb 偵錯程式提供對 python 指令碼的支援,可以執行一些自動化的操作,提供工作效率。本文從 helloworld 開始學習如何編寫 lldb 指令碼。編寫第乙個 lldb 指令碼 下面我們來實際操作編寫 lldb 偵錯程式指令碼。在計算機上建立乙個目錄用於存指令碼檔案,比如我們在 user...