18
用 Shell 用用用用用用 ---- 用用用 用用用用用用用 Powered by @li3huo

用 Shell 把工作自动化 ---- 自动化测试从点滴做起

  • Upload
    fergal

  • View
    151

  • Download
    0

Embed Size (px)

DESCRIPTION

用 Shell 把工作自动化 ---- 自动化测试从点滴做起. Powered by. @li3huo. 目 录. 01. Shell 基础. 02. Shell 入门. 03. 自动化的价值. 自动化的价值. 为什么要自动化 ? 工作的目标? 哪些工作能够自动化? 自动化后能带来什么好处?. 从日常工作开始自动化. 场景 1 目录下 有 n 个 样本,其中 m 个 扫描后应该能发现问题 运行扫描程序会在运行目录下生产一个日期子目录,输出扫描结果文件 检验这个扫描结果文件,可以判断扫描程序是否发现问题. 从日常工作开始自动化. 场景 2 - PowerPoint PPT Presentation

Citation preview

Page 1: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

用 Shell把工作自动化 ----自动化测试从点滴做起

Powered by @li3huo

Page 2: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

目 录

01

02

03

自动化的价值

Shell 基础

Shell 入门

Page 3: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

自动化的价值

• 为什么要自动化?• 工作的目标?• 哪些工作能够自动化?

• 自动化后能带来什么好处?

Page 4: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

从日常工作开始自动化

• 场景 1• 目录下有 n 个样本,其中 m 个扫描

后应该能发现问题

• 运行扫描程序会在运行目录下生产一

个日期子目录,输出扫描结果文件

• 检验这个扫描结果文件,可以判断扫

描程序是否发现问题

Page 5: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

从日常工作开始自动化

• 场景 2• 验证扫描大量破损包的程序稳定性

• 样本数量 20G , NQSDK-161

• 轮询样本目录,执行测试用例

Page 6: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

自动判断的基本逻辑

已知内容:• 确定的执行步骤;• 预期输出结果;

自动内容:• 自动执行• 输出捕获• 比对捕获的输出和预计的

输出,并记录比对结果• 必要的容错判断:执行后

的行为是否符合预期

Page 7: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础

• 为了能够编写各个场景的自动化脚本,我们需要掌握哪些知识?

• Bash shell scripting tutorial- 知识点参考文档:

• http://steve-parker.org/sh/sh.shtml• 介绍• 什么是好脚本

Page 8: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础(一)

• 变量: Scope of Variables• 通配符: Wildcards• 转义符: Escape Characters• 循环: Loops

Page 9: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 变量

• 等号两边不能有空格 #!/bin/shMY_MESSAGE="Hello"echo $MY_MESSAGEecho What is your name?read MY_NAMEecho "${MY_MESSAGE}, $MY_NAME - hope you're well."

Page 10: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 变量

• 作用域 #!/bin/shecho "MYVAR is: $MYVAR"MYVAR="hi there"echo "MYVAR is: $MYVAR”

$ ./myvar.sh

$ MYVAR=hello$ ./myvar.sh

$ . ./myvar.sh

$ export MYVAR$ . ./myvar.sh

Page 11: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 通配符

• *$ cp /tmp/a/* /tmp/b/$ cp /tmp/a/*.txt /tmp/b/$ cp /tmp/a/*.html /tmp/b/

Page 12: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 转义符

• 转义符: \有些字符具有特殊含义,使用反斜线可以屏蔽掉这些字符的特殊含义 :\ & * + ^ $ ` " | ?

• 转义字符有些打印字符,在 shell 的编写中无法直接表达,所以制定了加 \ 的表示法

Page 13: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 循环

• for 循环:数字#!/bin/shfor i in 1 2 3 4 5do echo "Looping ... number $i"done

for i in $(seq 1 5) #seq 是 sequence 的缩写do echo "Looping ... number $i again"done

Page 14: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 循环

• for 循环:遍历文件#!/bin/shfor i in ~/* #~ 路径下的所有文件do echo "file is $i"done

for x in `find ~ -depth 2 -name '*.zip'`doecho $xdone

Page 15: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Shell 基础 - 循环

• while 循环:读取文件内容#!/bin/shwhile read linedo echo $linedone < myfile

Page 16: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

Reference

• Bash shell scripting tutorial– http://steve-parker.org/sh/sh.shtml

Page 17: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

THANKS

Page 18: 用 Shell 把工作自动化 ---- 自动化测试从点滴做起

让我们开始行动起来吧!

NQSDK 测试机地址: 192.168.0.35/opt/shell