代码完全模拟按键进行操作。

1.重启设备

2.等待设备adb

3.移动到wifi设置菜单

4.连接wifi

5.检测网络是否连通

6.抓取log和截图,并把log文件压缩。

7.忘记wifi密码

8.重启设备,重复步骤1.

#-*-coding=utf-8-*-

__author__ = 'rocky chen'

from uiautomator import device as d

import time,subprocess,re,os

def zip_log(filename):

filename="count_%d.log" %filename

cmd='zip %s.zip %s' %(filename,filename)

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

os.remove(filename)

def move_operation(action_key):

cmd='adb shell input keyevent %s' %action_key

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

print out,err

def basic_info():

for k, v in d.info.items():

print k,v

#print info

def check_connect():

cmd='adb shell ping www.qq.com'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

print out,err

def wifi_connect(count):

print "WIFI connect in LOOP %d" %count

d.press.home()

#move_operation('KEYCODE_HOME')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.right()

#move_operation('KEYCODE_DPAD_RIGHT')

d.press.enter()

#move_operation('KEYCODE_ENTER')

d.press.enter()

#move_operation('KEYCODE_ENTER')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

d.press.enter()

#move_operation('KEYCODE_ENTER')

cmd='adb shell input text xiaomi2g'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

cmd='adb shell input keyevent KEYCODE_ESCAPE'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

cmd='adb shell input keyevent KEYCODE_ENTER'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

d.press.down()

d.press.down()

#move_operation('KEYCODE_DPAD_DOWN')

#d.press.down()

d.press.enter()

#move_operation('KEYCODE_ENTER')

cmd='adb shell input text test1234'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

cmd='adb shell input keyevent KEYCODE_ENTER'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

time.sleep(25)

def check_wifi_list(count):

print "check wifi list in loop %d" %count

d.press.up()

d.press.up()

d.press.up()

d.press.up()

d.press.up()

d.press.enter()

d.press.enter()

time.sleep(3)

print "########### IN LOOP %d #################" %count

cmd='adb shell screencap -p /sdcard/%d.png' %count

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

cmd='adb pull /sdcard/%d.png .' %count

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

p.wait()

def check_connection(count):

print "check connection %d" %count

fp=open("capture.log",'w')

fp.write('\n')

cmd='adb shell ping -c 4 www.baidu.com'

p=subprocess.Popen(cmd,stdout=fp,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

print out

print err

p.wait()

fp.flush()

fp.close()

fp=open("capture.log",'r')

return_data=fp.read()

#print return_data

pettern=re.compile(r'100\% packet loss')

t=pettern.search(return_data)

#print t

if t:

print "Failed"

else:

print "Passed"

try:

os.remove("capture.log")

except:

print "Delete capture.log failed"

def reboot_device(count):

print "reboot device in loop %d" %count

cmd='adb reboot'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

print out,err

p.wait()

cmd='adb wait-for-device'

p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

print out,err

p.wait()

print "Reboot done"

time.sleep(60)

def forget_password(count):

print "Forget wifi in loop %d" %count

d.press.home()

d.press.down()

d.press.down()

d.press.down()

d.press.right()

d.press.enter()

d.press.enter()

d.press.enter()

d.press.down()

d.press.down()

d.press.enter()

d.press.enter()

time.sleep(1)

def get_log(count):

cmd="adb logcat -v time >count_%d.log &" %count

'''p=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

out,err=p.communicate()

print out,err

'''

os.system(cmd)

if __name__=="__main__":

#check_connection()

#get_log(2)

#basic_info()

for i in range(3000):

reboot_device(i)

wifi_connect(i)

get_log(i)

check_wifi_list(i)

check_connection(i)

forget_password(i)

zip_log(i)

#move_operation('KEYCODE_HOME')

#move_operation('KEYCODE_DPAD_DOWN')

android tv wifi设置密码,android TV版 wifi 压力测试相关推荐

  1. android 重置偏好设置密码,android – 按下“重置应用偏好设置”后,我的应用的所有权限都被撤消...

    我开发了一个应用程序并支持Android 6.0.当我在"设置"中重置应用偏好设置时 – >应用 – >重置应用偏好设置,我的应用的所有权限都被撤消,应用不会重新启动. ...

  2. Android App压力测试

    前言:写这篇文章的目的,一是因为不少同学作为Android开发,很少会自己去做压力测试,不了解相关的技术,不知道压力测试是什么.怎么工作的:二是询问过身边的一些测试同学,他们进行压力测试的时候,很多情 ...

  3. android app wifi密码,无广告查看wifi密码的软件-WiFi密码查看清爽版app下载V999安卓版-西西软件下载...

    WiFi密码查看清爽版app是一款利用系统接口来查看链接的WiFi密码应用,实现密码查看功能的软件,WiFi密码查器看还聚合多种wifi辅助工具,wifi测速.流量统计.wifi信号增强.设备扫描.应 ...

  4. Android开机向导setupwizard,设置系统语言,WiFi向导

    Android的框架设计有考虑到开机向导这一场景,因此我们实现开机向导参考Android的Provision.apk Provision: MSM8976/repo/packages/apps/Pro ...

  5. lg android tv刷机,LG TV Remote-webOS

    LG TV Remote-webOS 介绍 LG TV Remote-webOS [Caution] This application is compatible only with LG webOS ...

  6. android n wifi scan,Android WiFi扫描

    Wifi扫描 权限方面 必须权限如下: ACCESS_WIFI_STATE(用于扫描结束后读取wifi信息) CHANGE_WIFI_STATE(用于扫描WiFi列表) 除必须权限外,根据系统版本,还 ...

  7. android+tv+自动切换,Android TV 重写GridView,实现焦点放大效果

    关于缩放,使用了view.setScaleX/Y 方法,api11以上即可. 重写dispatchDraw(),绘制选中项的焦点效果.(注意带阴影的焦点图需要微调偏移量) 要将选中项绘制显示在顶层,所 ...

  8. android wlan0 网卡过程,android WIFI网络驱动之wpa_supplicant程序详解

    http://blog.csdn.net/wh_19910525/article/details/7392147 2012 目前可以使用wireless-tools 或wpa_supplicant工具 ...

  9. Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面

    http://www.mobiletuts.me 获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. An ...

最新文章

  1. 电脑文件加密_电脑文件加密软件哪个好?企业加密软件排行榜
  2. 蚁群:微型机器人的社区
  3. python 字符串前面加 f
  4. Android MVC,MVP,MVVM模式入门——重构登陆注册功能
  5. I/O异步之I/O完成端口
  6. 电动力学每日一题 2021/10/10
  7. 360浏览器 ajax取缓存,Angularjs在360兼容模式下取数据缓存问题的解决办法
  8. hibernate中的id特殊属性hilo剖解(多用于继承关系)
  9. c语言 gbk字模点阵数组,GBK点阵显示字库的制作和使用
  10. python图像处理大全
  11. Nginx 简单命令
  12. python云计算服务_阿里云python 云计算
  13. 基于Python3-Pygame的乒乓球游戏
  14. 江苏专转本计算机大类(计算机理论基础A)知识点
  15. NTPWEdit通过直接修改SAM文件离线更改密码
  16. 电感耦合等离子体质谱仪技术分析环境各方面的污染
  17. Excel保护怎么解除保护
  18. 08-图7 公路村村通(浙大数据结构)
  19. 大一C语言总结贴(持更) Part1 输出菱形
  20. JAVA-------计算机基础与准备阶段

热门文章

  1. 了解这些后,再去决定要不要买mac
  2. 表情识别综述论文《Deep Facial Expression Recognition: A Survey》中文翻译
  3. 【关于游戏中多人交互业务无回调写法的2种方案】1.xdb 2.world服+只读redis+队列
  4. 执行update和delete的SQL语句时,报错:Error Code: 1175. You are using safe update mode and you tried to update a
  5. 凯撒密码加密解密——Java代码(密码学)
  6. Qt中的颜色设置——Qpalette,Qcolor,Qbrush等
  7. 生与死,苦与乐,一念之间
  8. Service启动泄露异常:android.app.ServiceConnectionLeaked
  9. [明日方舟抽卡数据库]开发日志(二)
  10. nginx之ReWrite语法