很久之前就写好的了,准备写个自动执行Monkey的脚本时才想到去找它,还是写在博客里找起来方便。

这次更新了批处理自动连接设备后执行Py脚本,结构如下图:

其中shotscreen为存放截图文件夹,sms.py为Py脚本,StartTest.bat为获得设备ID和调用Py脚本。

Start.bat中的代码如下:

 @echo off
rem 获取当前运行设备
adb devices > d:\SMSTest\devices.txt
rem 运行monkeyrunner 脚本
monkeyrunner d:\SMSTest\sms.py

sms.py中的代码和之前相比只是增加了读取devices.txt中的devices id,感觉方法不是很可靠,求大家支招。

 #导入我们需要用到的包和类并且起别名
import sys,time,datetime
import re
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
from com.android.monkeyrunner import MonkeyImage as mi #读取设备ID i = 0
str = ''
for line in open('D:\SMSTest\devices.txt'):
if i==1:
str = line
break
i = i+1
p = re.compile(r'\s')
lis = p.split(str)
device_id=lis[0]
#连接设备
device = mr.waitForConnection(1.0,device_id)
if not device:
print >> sys.stderr,"fail"
sys.exit(1)
#定义要启动的Activity
componentName='com.android.mms/.ui.BootActivity'
#启动特定的Activity
device.startActivity(component = componentName)
mr.sleep(1.0)
#do someting 进行我们的操作
#新建短信
device.touch(57,747,'DOWN_AND_UP')
mr.sleep(1.0)
#输入 10086
device.type('')
#发送短信条数
for n in range(0,3):
#输入短信内容
device.touch(187,402,'DOWN_AND_UP')
device.type('hellomoto')
mr.sleep(1.0)
#发送短信
device.touch(432,380,'DOWN_AND_UP')
mr.sleep(1.0)
device.touch(51,752,'DOWN_AND_UP')
mr.sleep(3.0)
#创建时间字符串
t = time.strftime("%Y-%m-%d-%X",time.localtime())
t = t.replace(":","-")
#takeSnapshot截图
snapshot = device.takeSnapshot()
snapshot.writeToFile('D:
\\SMSTest\\shotscreen\\'+t+'.png','png');

MonkeyRunner执行Python脚本实例——发送短信增强版的更多相关文章

  1. python每天定时发送短信脚本

    最近业务上需要每天解析txt文本或者excel文件,读取内容发送短信,发送的时间段可控,用python实现 安装pip依赖 pip install -r requirement.txt xlrd Py ...

  2. 使用python移动飞信模块发送短信

    作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...

  3. 使用Python往手机发送短信(基于twilio模块)

    官网是https://www.twilio.com twilio的一句话介绍——提供SDK帮你连接世界上所有人,你可以很方便的调用他们提供的接口来给指定手机发短信,打电话. 首先在twilio的官网注 ...

  4. 脚本控制向Android模拟拨打电话,发送短信,定位设置功能

    做行为触发的时候要向模拟器实现拨打电话,发送短信,定位设置的的功能,可以很方便通过telnet localhost  5554实现. 写个脚本很快的搞定了.网上资料很多,脚本的很少,也所积点德啦. 写 ...

  5. zabbix通过脚本发送短信

    zabbix通过脚本发送短信 原则 和zabbix电子邮件是一样的,他们是action内部配置,司的api来完毕.当然网上有不少利用139邮箱来发的,这个事实上算调用email的一种,这里复述的是调用 ...

  6. 利用python库twilio来免费发送短信

    大家好,我是四毛,最近开通了个人公众号“用Python来编程”,欢迎大家“关注”,这样您就可以收到优质的文章了. 今天跟大家分享的主题是利用python库twilio来免费发送短信. 先放一张成品图 ...

  7. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

  8. Python发送短信提醒

    Python发送短信可借助腾讯云平台提供的短信服务 发送短信需要的及格参数: 1.SDK_AppID和SDK_Key 2.签名: 3.模板ID 下面贴出源码DEMO: from qcloudsms_p ...

  9. python_发送短信脚本

    sendsms.py #!/usr/bin/env python # coding: utf-8 import sys import urllib import urllib2 "" ...

随机推荐

  1. Js编码和Java后台解码

    1.java.将resultMsg 转为utf-8 (1) resultMsg = URLEncoder.encode(resultMsg, "utf-8"); (2) new S ...

  2. AOP学习过程中遇到的问题汇总

    jdk版本问题:     在spring较低的版本中,仅支持jdk1.5到1.7版本,由于我本机安装的是jdk1.8,所以在调试的时候就会提示jdk版本要高于1.5.于是换成spring4.0,在co ...

  3. 远程mysql出现ERROR 1130 (HY000): Host '172.17.42.1' is not allowed to connect to this MySQL server

    ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server 说明所连接的用户帐号没有远程连接的权限, ...

  4. git 彩色显示当前branch

    环境: fedora 20 $ curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt. ...

  5. 【转】oracle null

    转自:oracle的null和空字符串'' 1.oracle 将 空字符串即''当成null 2.null 与任何值做逻辑运算得结果都为 false,包括和null本身 3.用 is null 判断时 ...

  6. JavaScript学习总结【12】、JS AJAX应用

    1.AJAX 简介 AJAX(音译为:阿贾克斯) = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技 ...

  7. php类的属性

    属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成.属性的变量可以设置初始化的默认值,默认值必须是常量. class Car { //定义 ...

  8. setTimeout和setInterval的深入理解

    以前写的setTimeout和setInterval的文章有些不足之处,今天抽时间整理了一下,要想真正理解还得从javascript的单线程机制说起 大概半年前发表过一篇关于setTimeout和se ...

  9. Poco版信号槽

    #include "Poco/BasicEvent.h"#include "Poco/Delegate.h"#include <iostream> ...

  10. Winform与WPF对话框(MessageBox, Dialog)之比较

    Winform:使用System.Windows.Forms命名空间中相应控件; WPF则调用Microsoft.Win32. MessageBox: // WinForm private void ...