黄冬,历任优酷土豆集团产品技术副总裁、土豆网产品技术副总裁、中国移动12580产品技术高级总监等职务。也是中国FreeBSD、Python社区的发起者和积极参与者,啄木鸟社区的创始人之一,魔豆路由器的创始人。
第1页
Python in Modou
@老黄
第2页
Python与我
早期Python各种社区和活动的积极忽悠者
woodpecker.org.cn 发起人
曾经新浪研发、12580产品技术、优酷土豆产品技术,现在魔豆路由器创业
第3页
十年Python的总结
第4页
Python是什么
一行命令
万能胶水
快速开发语言
Unix快速绞肉机
多种操作系统和平台支持
丰富的库和大量可重用代码
第5页
Unix精华
stdin stdout
pipeline
程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。
第6页
我最常用的命令
ps | grep httpd
第7页
fileinput
gzcat $1 | ./countid.py > countid 2> countid.err
第8页
Python的设计哲学
“优雅”、“明确”、“简单”
第9页
Python的网络工具
第10页
tcpdump&libpcap
tcpdump
是一个运行在命令行下的嗅探工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。
tcpdump开发了libpcap这个捕捉数据的基础库,以使得任何程序都可以完成tcpdump的所有功能。
第11页
scapy
一个Python的模块,可以在任何python代码中使用libpcap的功能
一个通过scapy启动的交互环境,可以通过一行行的命令,来进行逐步操作
原则上它支持tcpdump的所有功能,可以操作Layer 2&3的收与发
第12页
组包
第13页
分层
第14页
可视化
第15页
发包
第16页
发送与接收
第17页
UTScapy
运用scapy的进行单元测试的系统
将测试报告以text/ansi/HTML/LaTeX 的形式输出
可以包括一个或者多个测试集合
第18页
使用
第19页
测试执行
UTscapy -t full_regression.txt -f html -o full_regression.html
failed E1158D6B tc_vm2_api_download_get_version_info
passed 175C8DE0 change_to_old_version
passed A44D4EC5 tc_vm2_api_download_check_remote_version_upgrade
passed E089D08A tc_vm2_web_login
passed 21629815 tc_vm2_web_repeat_login_logout
passed 26E38237 tc_vm2_web_prevent
passed 8C45831F tc_vm2_web_wan
passed 5E0BE1C3 tc_vm2_web_lan
passed 7B598DC5 tc_vm2_web_wifi
passed 64C1EBB3 tc_vm2_web_device_mgr
passed 3ABEB809 tc_vm2_web_status
passed 1085066C tc_vm2_web_system_set
passed 45F75B9C tc_vm2_web_quit
passed F351A577 time Campaign CRC=31171877 SHA=AA7571F7703DA39FEFCDA3F3380C8EFEC58D79BF
PASSED=182 FAILED=8
第20页
测试报告
第21页
测试库
pxssh:
需要ssh进行的测试用例
pexpect:
终端命令行相关测试,如:curl、ps等
selenium:
应用在web页面方面的测试
第22页
pxssh示例
ssh到某一个ip地址后,查看当前wifi的鉴权模式
第23页
pxssh示例
第24页
测试结果示例
第25页
pexpect
是expect语言的Python实现
使用正则表达式对程序输出做出特定响应
使用tty进行交互,原则上支持所有的自动化交互或测试
第26页
pexpect示例
curl 获取网站cookie后,check wifi的配置
第27页
pexpect示例
第28页
测试结果示例
第29页
Selenium
是ThroughtWorks公司的开源Web功能测试工具系列
Selenium Core:支持DHTML的测试案例(效果类似数据驱动测试),它是Selenium IDE和Selenium RC的引擎。
Selenium IDE:FireFox的一个插件,支持脚本录制。
Selenium RC:Selenium Remote Control
Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web应用的功能测试。
第30页
测试密码登录
第31页
selenium示例
第32页
测试结果
第33页
魔豆路由器的自动化测试
升级Modou ROM
安全模式功能测试
VM功能测试
api测试
web测试
第34页
测试prepare
第35页
升级 Modou ROM
第36页
安全模式测试
第37页
VM功能测试
第38页
API测试
第39页
Web功能测试
第40页
效率
第41页
效率
Modou 101a、101b、101c不同的硬件版本
ModouROM 每周三、周五两个开发版
ModouROM 每月第三周一个稳定版
每周至少6个开发版、每月至少25个公开版本
内部每个tag都会跟进一个自动化测试
第42页
做一件事,做好它
第43页
联系我们
官方网站 www.modouwifi.com
魔豆社区 bbs.modouwifi.cn
官方微信 modouwifi
官方微博 @魔豆路由器 @魔豆社区