前言:

前面已经讲过了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. PHP递归的简单理解

    递归简单来说就是自己调用自己 比如说 A向B问路 但是B不知道 于是乎B问C 但是C不知道 于是乎问D D知道 D把怎么走告诉C C在把怎么走告诉B B再把怎么走告诉A A虽然是最先问的 但是是最后一 ...

  2. Java8中Stream()流的用法总结

    简单的集合遍历 foreach遍历 import java.util.ArrayList; import java.util.List; /** * @author rx * @date 2022/6 ...

  3. MQ(为什么要使用MQ)

    为什么使用MQ? 个人认为主要由几下几点: 1.在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达数据库,直接导致无数的行锁表锁,甚至最 ...

  4. Hyperf安装

    转载网址: https://www.cnblogs.com/lyc94620/p/12821723.html

  5. Java执行带空格的语句命令,cmd无法识别带空格路径的问题

    带空格的会识别不了 先说解决方法: 1:用cmd中的start: 在JAVA中可以如此使用: Runtime.getRuntime().exec("cmd /c start \"\ ...

  6. File 未释放文件权柄问题处理

    Unreleased Resource: Files Abstract 程序可能无法释放某个文件句柄. Explanation 程序可能无法成功释放某一个文件句柄. 资源泄露至少有两种常见的原因: - ...

  7. 声网 VQA:将实时互动中未知的视频画质用户主观体验变可知

    在实时互动场景中,视频画质是影响观众体验的关键指标,但如何实时评价视频的画质一直是个行业难题,需要将未知的视频画质用户主观体验变成可知. 未知的部分往往是最需要攻克的,声网也一直在持续探索符合实时互动 ...

  8. 【读书笔记】Young Tableau_Calculus of tableaux_bumping and sliding

    目录 bumping Schensted bumping algorithm 举例 sliding/digging a hole 一些定义 Schiitzenberger sliding algori ...

  9. Tomcat启动JSP项目,搞起来了

    虽然有点复古,但是还是有很多小伙伴在使用的,小编来一篇保姆级教程 1.用idea打开jsp项目 2.添加tomcat配置 3.点击后会出现配置框,这里画框的地方都选上,版本选择1.8,其他的信息内容默 ...

  10. call、apply 及 bind 函数

    首先从以下几点来考虑如何实现这几个函数 不传入第一个参数,那么上下文默认为 window: 改变了 this 指向,让新的对象可以执行该函数,并能接受参数. 实现call 首先 context 为可选 ...