美文网首页
自动化测试的一次尝试

自动化测试的一次尝试

作者: 匠人plus | 来源:发表于2019-12-12 16:36 被阅读0次

看到网上各种自动化测试攻略,对此也略感兴趣,花时间研究了一下,该攻略仅供学习参考。请不要用于非法用途。

首先提供一个apk安装包,我是直接从应用宝下载的,大家可以放心使用。

通过adb install apk安装此版本今日头条
链接:https://pan.baidu.com/s/1zlLZXZt_gbKQ_WJ95kdsjw
提取码:tb6h
复制这段内容后打开百度网盘手机App,操作更方便哦

安装python环境,我本地是2.x的环境,安装pip工具包,pocoui模块,等依赖库,

如果安装超时可以切换国内镜像进行安装
常用镜像:
  阿里云 http://mirrors.aliyun.com/pypi/simple/
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  豆瓣(douban) http://pypi.douban.com/simple/
  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

命令
pip install -i 镜像地址 --default-timeout=100 库名
安装好之后运行以下代码就可以

# encoding: utf-8

import os
from datetime import datetime
import time
from airtest.core.api import connect_device
from poco.drivers.android.uiautomation import AndroidUiautomationPoco



"""
1准备参数,启动指定app
"""

PackageName = 'com.ss.android.article.news'
SplashActivityName = 'com.ss.android.article.news.activity.SplashActivity'

print("PackageName:"+PackageName)
print("SplashActivityName:"+SplashActivityName)

def start_my_app(package_name, activity_name):
    """
    打开应用
    adb shell am start -n com.tencent.mm/.ui.LauncherUI
    """
    try:
        os.popen('adb shell am start -n %s/%s' % (package_name, activity_name))
    except  Exception as e:
        print(e)

start_my_app(PackageName, SplashActivityName)

"""
2.准备加载pocoui模块,连接android设备
请先执行pip install pocoui安装pocoui模块
如果下载超时执行pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pocoui
安装完成之后执行以下代码。 
如果adb 始终连不上设备,请关闭(最好卸载)各种手机助手,重新尝试
如果模拟器端口不是默认端口,需要指定连接
dev = connect_device('Android://<adbhost[localhost]>:<adbport[5037]>/<serialno>')
poco = AndroidUiautomationPoco(dev)
serialno可以通过adb devices获取
"""
poco = AndroidUiautomationPoco()
"""
延时跳过广告
"""
time.sleep(10)

"""
2跳过广告
"""

"""
myDelayTime = 0
def timer(n):
    while (bool(myDelayTime<10)):
        global myDelayTime
        myDelayTime+=n
        print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
        time.sleep(n)
        print("AppGoInHome:"+activity)
        

timer(5)

"""



"""
3模拟屏幕操作
需要知道app指定按钮的id,windows可以通过安装airtest查看,安卓手机安装开发助手也可以
"""


l_elements = poco(PackageName+':id/b3u')
def onclcik():
    if not l_elements.exists():
        print('btn not exist')
        return
    print('to click btn')
    
    l_elements.click()
    print('swipe  list')
    poco.swipe([0.5, 0.8], [0.5, 0.3], duration=0.2)
    
onclcik()


def test():
    back = poco(PackageName+':id/a2')
    if back.exists():
        print("has back")
        back.click()
        
    select_tag = poco(PackageName+':id/ah9')
    
    if select_tag.exists():
        print("has select_tag")
        select_tag.click()

test()

VID_20191212_165032.gif

相关文章

网友评论

      本文标题:自动化测试的一次尝试

      本文链接:https://www.haomeiwen.com/subject/ucktnctx.html