歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用Expect來做Linux程序測試

用Expect來做Linux程序測試

日期:2017/2/28 16:18:09   编辑:Linux教程

在做畢業設計,要檢查算法是否reasonable。對expect復習了一下,順便寫一寫所用到的東西。Expect的簡介就不說了,就是linux下的一個工具,也算得是個shell吧。

最典型的應用,也是最簡單的:

#!/usr/bin/expect
spawn ./myhelper.exe ##要用這個打開程序
set timeout 10000 ##這個也很重要,如果超出了這個時間的話,就會自動地停下來,他的計時單位是:秒

expect "$" ##意思是當輸出有$的時候
send "g\r" ##就輸入g加回車

expect eof ##要有
exit

但是在一個完整的測試當中往往還要和bash shell一起工作,我這次的測試也是。比要用bash shell來管理rm *.o呀之類的。如果bash shell 與 expect一起用的時候,那麼參數的傳遞就是最重要的了。我這裡利用bash shell的環境變量來傳遞:

在expect中,可以這樣用,其中keywords是環境變量名。記得環境變量要用export keywords=dddd

...

expect "$"
send "$env(keywords)"
send "\r"

...

P.S.: 在做export keywords=(computer&networks)&user這樣是不行的,要用export keywords="(computer&networks)&user"。看到了嗎,要用引號,等於號也不要留空格,卻記卻記!

Copyright © Linux教程網 All Rights Reserved