概述
1.测试环境搭建
python[3.5] 安装完成后 ,进行以下操作:
1.1 安装atx
pip install atx
1.2 安装opencv
pip install opencv_python-3.2.0.7-cp35-cp35m-win32.whl
1.3 安装uiautomater
pip install uiautomator
1.4 测试环境是否搭建成功
连接Android手机或者Android模拟器[推荐蓝叠],先用adb devices确保手机/模拟器已连接上,再进行以下操作。
在pycharm中输入以下代码,并点击运行:
import atx
print(atx.connect())
如果输出类似于:<atx.drivers.android.AndroidDevice object at 0x02B14630>,则安装成功,反之,需要查找问题所在并进行修改。
2.常用实例
2.1 连接手机
self.d = atx.connect()#连接手机
self.d.screen.on()#唤醒屏幕
2.2 启动/退出APP
self.d.start_app(package_name[,activity])
self.d.stop_app(package_name[,clear])#clear 为true时,APP数据将被清空
2.3 基于UI的自动化操作
2.3.1 获取控件
通过uiautomatorviewer(D:Program FilesAndroidandroid-sdktoolsuiautomatorviewer.bat)获取ID、class、Text等,获取控件的方法类似于:
self.d(resourceId="com.easemob.businesslink:id/phone_number")
self.d(resourceId="com.easemob.businesslink:id/layout", className="android.widget.LinearLayout",index=3)
self.d(resourceId="com.easemob.businesslink:id/list").child(className="android.widget.LinearLayout", index="3")
self.d(className="android.widget.RelativeLayout").child(text="测试")
2.3.2 常用事件
(1)是否存在
self.d(resourceId="").exists
(2)点击
self.d(resourceId="").click
(3)滑动
self.d().swipe.left()
self.d().swipe.right[up,down]()
(4)滚动
self.d().scroll()
(5)长按
self.d(resourceId="").swipe.right(steps=300)[300相当于长按5秒]
(6)设置文本
self.d(resourceId="").set_text("123456")
[待补充......]
2.4 基于atx的Report
基于atx进行测试时,引入report,可以生产包含网页、gif图片、result.json的报告,具体操作如下:
import time
from atx.ext import report
class SendMessage:
def __init__(self,d,dir):
self.d=d
self.rp=report.Report(self.d, save_dir=dir)
self.rp.patch_uiautomator()
self.rp.info("Start Send Melito_message")
self.chars="ABC"
def stopSend(self):
self.rp.info("Send Camito Message is finished")
#***********************************************发送语音************************
#发送语音消息,可定制语音消息的时长steps、发送条数i
def sendVoice(self):
self.d(resourceId="com.easemob.businesslink:id/btn_set_mode_voice").click()
time.sleep(1)
if self.d(resourceId="com.easemob.businesslink:id/btn_press_to_speak").exists:
self.d(resourceId="com.easemob.businesslink:id/btn_press_to_speak").swipe.right(steps=300)#通过这种方式来实现长按,600相当于10秒
print ("send voice message success")
其他类调用该类即可生成Report:
import time,atx
from SendSomeMessage import SendMessage
class CHAT:
def __init__(self):
self.d=atx.connect()
dir="Report/chat"+str(time.time()).replace(".","")
self.sendmessage = SendMessage(self.d,dir)
self.chat()
def chat(self):
self.sendmessage.sendVoice()
self.sendmessage.stopSend()
if __name__=="__main__":
CHAT()
3. 总结
(1)使用ATX对Android进行自动化测试的难度不大,准确性也比较高。
(2)自动化测试的前提是 设计好测试用例 ,重点也是设计测试用例,自动化测试仅作为辅助。使用ATX可以减少繁杂的人工操作、也可以严格控制每一个操作执行的次数和时间,能够提升工作效率。
(3)另外,网上有资料说ATX也可对IOS进行自动化测试,有时间可以试一下。
最后
以上就是端庄萝莉为你收集整理的ATX+Python:Android自动化测试1.测试环境搭建2.常用实例3. 总结的全部内容,希望文章能够帮你解决ATX+Python:Android自动化测试1.测试环境搭建2.常用实例3. 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复