expectrlRust 編寫的自動(dòng)化測(cè)試工具
expectrl 是一款自動(dòng)化測(cè)試實(shí)用工具,可用于 Unix 和 Windows 系統(tǒng),專為交互式應(yīng)用程序設(shè)計(jì),支持:
-
創(chuàng)建進(jìn)程
-
控制進(jìn)程
-
與進(jìn)程 IO 進(jìn)行交互
主要特性
- 支持
async - 支持日志記錄
- 支持交互功能
- 支持 Windows
示例
use expectrl::{spawn, Regex, Eof, WaitStatus};
fn main() {
let mut p = spawn("ftp speedtest.tele2.net").unwrap();
p.expect(Regex("Name \\(.*\\):")).unwrap();
p.send_line("anonymous").unwrap();
p.expect("Password").unwrap();
p.send_line("test").unwrap();
p.expect("ftp>").unwrap();
p.send_line("cd upload").unwrap();
p.expect("successfully changed.\r\nftp>").unwrap();
p.send_line("pwd").unwrap();
p.expect(Regex("[0-9]+ \"/upload\"")).unwrap();
p.send_line("exit").unwrap();
p.expect(Eof).unwrap();
assert_eq!(p.wait().unwrap(), WaitStatus::Exited(p.pid(), 0));
}評(píng)論
圖片
表情
