前言:

前面已经讲过了Airtest的简单配置与使用了,相信大家已经对于操作Airtest没有什么问题了(#^.^#)

但是在Airtest IDE中编写代码是有局限性的,而且不能封装Airtest的高级属性,也不能对Airtest的各种功能进行耦合,此篇文件简单介绍下脱离与IDE来使用Pycharm进行操作。

一、安装airtest和poco库

1.进入File → Settings → Project → Python Interpreter

2.执行如下命令安装

pip3 install airtest
pip3 install pocoui

二、使用

1.确保模拟器已启动

2.代码实操

# -*- coding: utf-8 -*-

from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) auto_setup(__file__) print(poco.adb_client.get_device_info()) # 获取设备信息

3.运行结果

{'platform': 'Android', 'serialno': '127.0.0.1:62001', 'memory': '3G', 'storage': '128G', 'display': {'width': 2160, 'height': 3840, 'density': 4.0}, 'cpuinfo': None, 'cpufreq': '2.5GHz', 'cpuabi': 'x86', 'sdkversion': 25, 'gpu': {'gpuModel': 'Adreno (TM) 640', 'opengl': 'OpenGL ES 3.1'}, 'model': 'SM-G988N', 'manufacturer': 'samsung'}

三、简单示例(实现1+1=2)

# -*- coding: utf-8 -*-

from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) auto_setup(__file__) print(poco.adb_client.get_device_info()) # 获取设备信息 if poco(text="计算器").exists():
poco(text="计算器").click()
print("open suc")
else:
print("open fail") # 判断控件是否存在
if poco(text="计算器").exists():
poco(text="计算器").click()
print("打开计算器APP成功")
else:
print("未找到计算器APP") # 点击 1
poco(text="1").click()
# 点击 +
poco(text="+").click()
# 点击 1
poco(text="1").click()
# 点击 =
poco(text="=").click()

四、踩坑错误

如果出现此错误,新建个工程,把代码复制过去即可(原因未知 [○・`Д´・ ○])

                                  to be continued...

Win Pycharm + Airtest + 夜神模拟器 实现APP自动化的更多相关文章

  1. java+appium+安卓模拟器实现app自动化Demo

    网上有比较多相关教程,自己写一遍,加深下印象. 环境搭建 据说,很多人都被繁琐的环境搭建给吓到了. 是的,确实,繁琐. node.js 网址 cmd输入node -v,出现下图说明成功. JDK 网址 ...

  2. 手机APP自动化环境搭建

    1 摘要 近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium.Roboti ...

  3. Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分

    爬前叨叨 从40篇博客开始,我将逐步讲解一下手机APP的爬虫,关于这部分,我们尽量简化博客内容,在这部分中可能涉及到一些逆向,破解的内容,这部分尽量跳过,毕竟它涉及的东西有点复杂,并且偏离了爬虫体系太 ...

  4. 夜神模拟器调试web APP

    前言:之前工作之余的时间自己做了一个web APP,但是都是在浏览器上调试的,这次想看看在手机上啥效果,所以下载了一个夜神模拟器 一.下载夜神模拟器 https://www.yeshen.com/ 二 ...

  5. appium+夜神模拟器+python安卓app爬虫初体验

    环境搭建:Windows 7 64bit jdk包:jdk-8u171-windows-x64.exe(http://www.oracle.com/technetwork/java/javase/do ...

  6. Appium+python自动化23-Android夜神模拟器

    前言 Android SDK虽然也自带了模拟器,但是那速度会让你怀疑人生,并且不稳定经常卡死异常.夜神模拟器可以说是android模拟器里面的一个神器. 环境安装 1.官网下载地址:https://w ...

  7. Python网络爬虫——Appuim+夜神模拟器爬取得到APP课程数据

    一.背景介绍 随着生产力和经济社会的发展,温饱问题基本解决,人们开始追求更高层次的精神文明,开始愿意为知识和内容付费.从2016年开始,内容付费渐渐成为时尚. 罗辑思维创始人罗振宇全力打造" ...

  8. python + 爬虫 + fiddler + 夜神模拟器 爬取app(1)

    抓包 抓包是爬虫里面经常用到的一个词,完整的应该叫做抓取数据请求响应包 ,而Fiddler这款工具就是干这个的 普通https抓包设置 打开Fiddler ------> Options .然后 ...

  9. Appium+python自动化-Android夜神模拟器

    前言 Android SDK虽然也自带了模拟器,但是那速度会让你怀疑人生,并且不稳定经常卡死异常.夜神模拟器可以说是android模拟器里面的一个神器. 环境安装 1.官网下载地址:https://w ...

  10. appium——如何导出夜神模拟器下载“微信”app的apk

    背景:夜神模拟器是一款功能强大的安卓模拟器,但是当我们在上面下载APP应用后,通常不知道apk文件在哪里,下面以“微信”APP为例做一下详细介绍. 一般情况下,使用夜神安卓模拟器下载的文件只能在夜神安 ...

随机推荐

  1. Python subnet 操作物件

    subnetcalc.py class SubnetCalc(object): def __init__(self, network, mask): self.network = network.sp ...

  2. Windows平台在当前文件夹下打开CMD

    Windows平台在当前文件夹下打开CMD的方法: 在路径栏中输入 cmd.exe ,然后敲回车.

  3. linux 安装 jupyter notebook

    虚拟机使用的是ubuntu系统 直接遇见一个问题 E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/ ...

  4. android装包

    一.找到对应包体apk 二.数据线连接电脑及手机,弹出USB连接选项并选择传输文件 注:如果未弹出USB连接选项可尝试换根数据线解决 三.点击我的电脑找到本机设备 四.将对应包体文件拖入本机设备 五. ...

  5. ideal中热部署JRebal的设置

    1.ideal中安装插件: 2.打开网址:https://www.guidgen.com/   打开链接获取新的GUID码 3.网址和UUID码拼接:http://127.0.0.1:8888/ca3 ...

  6. 实验六 开源控制器实践——RYU

    (一)基本要求 搭建SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑. 阅读Ryu文档的The First Application一节,运行当中的L ...

  7. NameNode启动问题:Failed to load an FSImage file!

    NameNode启动问题:Failed to load an FSImage file! 2022-01-23 13:35:53,807 FATAL org.apache.hadoop.hdfs.se ...

  8. node.js缓冲区类与node-red向串口发数据

    遇到的问题是使用node-red的串口模块向串口发送16进制数据,控制LED灯. 初学者经常想当然的认为只要msg的payload里放上对应的数就行了.其实不是. Node-red是node.js环境 ...

  9. docker学习3

    docker的启动流程 docker run -t -i <name:tag> /bin/bash -t 把1个伪终端绑定到容器的标准输入 -i 保持容器的标准输入始终打开不关闭 启动流程 ...

  10. python list dict util (分割,分组)

    1.list数据分割为多个小列表  (java   lists.partition) 2. 分组 import itertools def partition(mylist, size): " ...