公司终端机器功能测试自动化实现

  经过两个星期全部门的奋战,终于在工厂现场,按客户要求把500台终端机基本功能全部过一遍,顺利出货。

在这个过程中,依然发现了几个偶发事件,后台对终端机的远程操作偶尔会出现失败,由于项目历史原因,当前

的后台维护人员到现在也还没找到根本的原因。但是类似这种工作,对于我们测试团队来说,估计以后还会有很

多,虽然不像这次一样要全批量测试,但是以后大批量出货,比如20000台,随机抽样检测1%那也得有两百台,

所以对这个工作实现自动化非常有必要,工厂回来的这两天,赶紧跟开发人员沟通了这事,了解了前后端的通讯

机制,最终决定方案可行,也出了个demo,废话不说赶紧记录一下过程!

  因为是通过web端点击功能按钮控制终端机的重启,关机,锁屏,解锁,下发节目等操作的,一开始的构想

是点击这些按钮应该是会发送一个http协议的post请求来实现控制,然后,再提交一个获取终端最新信息的请求,

分析返回结果,判断终端是否已经得到响应。赶紧抓包观察,可以实现,这个可以用urllib2实现。

  但是实现该步骤前,得先有登录操作,才有操作权限,故马上联系开发人员,申请一个万能验证码,解决了登录

的验证问题。

  登录操作相当于给服务器提交一个全新的请求,服务器给你分配一个新的sessionID,然后我们客户端用cookie

保存了sessionID,当我们后面再请求服务器的时候,会把这个sessionID一起发给服务器,服务器会到内存中搜索

对应的sessionID,如果找到了,那就说明我们处于登录的状态,具有相应的操作权限。

  所以,这由提出了另外一个问题,我们后面提交具体的功能请求,必须连同之前登录后的cookie一起提交服务器,

这样才有可能真正提交成功,实现功能。这部分可以通过urllib2+cookielib实现。

  这样之后,应该就可以就没啥问题了,弄了一个demo,结果POST功能请求后返回的是一个说明操作没有权限

的HTML代码。于是再找了一下原因,观察请求头发现还要提交token,于是抓包仔细观察一下登录后的一些动作,

原来还有主机发送了token包的步骤

  头文件中的token需与提交请求url中的token一致,才可以返回正确的结果,这可以通过获取url中的值,传参到头

文件中,但是问题是这个请求是提交login请求后自动提交的,如何才能获取到该请求中的url信息呢?我想到的是通过利

用pcap模块,写一个抓包的方法,当提交了login请求后,调用抓包方法,抓取到该条请求的url信息。

  至此,已经初步实现了通过提交请求操作终端机与验证结果,后续继续完善,将机器ID参数化,多线程运行,实现一

键批量测试终端机功能,期待下次出货的时候到现场利用上!

转载于:https://www.cnblogs.com/yuboan/p/5032346.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值