首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android自动化之-python-uiautomator2入门简介

python-uiautomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。...原理: python-uiautomator2主要分为两个部分,python客户端,移动设备 python端: 运行脚本,并向移动设备发送HTTP请求 移动设备:移动设备上运行了封装了uiautomator2...整个过程 在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的...server端) 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作 环境安装 1:ADB: 各种安卓测试框架的基础工具包,安装参考:https://blog.csdn.net/...在手机上安装包名为com.github.uiautomator的apk py连接安卓手机 连接手机: python-uiautomator2连接手机的方式有两种,一种是通过WIFI(ip),另外一种是通过

3.1K10

淘宝移动端统一网络库的架构演进和弱网优化技术实践

有一个较为形象的类比,如果说现在的网络系统是功能机,系统和硬件出厂时就被捆绑在一起,那么 SDN 就是 Android 系统,可以在很多手机设备上安装&升级,同时还能安装更多更强大的手机 App(SDN...一次完整的请求网络传输大致可以分为以下链路:即DNS->建连->发送数据->等待首包响应->接收数据。...因此:在寻求更友好的方式上,我们发现系统提供了一种多通道传输的能力,即允许设备在 WIFI 环境下将请求切换蜂窝网卡的能力,网络应用层可以利用该技术,减少请求的超时等一类错误,提升请求的成功率。...官方在版本 3.12.2+上修复,但 android 源码仍使用 2.x 版本导致无法修复。...此外,针对不同应用:1)若存在三方 okhttp 依赖,会自动桥接到三方实现上,体验高版本 okhttp 的稳定性;2)对于手淘这种不依赖三方 okhttp 的应用,再桥接到系统版本实现。

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Fiddler 抓包 Android

    这里还有个细节正常在 没有代理 的情况下客户端向服务器发送的请求行里 只包含部分URI (实际上是没有方案,主机名及端口的) 有代理的情况下,应该是 黄色标记的那样 完整URL 如上图如果在没有代理的情况下...因为在原始的HTTP设计中没有考虑中间服务器(即代理)的情况,客户端在发送报文前已经知道服务器的地址并与之建立了连接,没有必要再发送方案,主机名及端口。...现在我们的请求实际上都是通过代理服务器(Fiddler 或 Charles)发送出去的,所以代理抓包软件不仅知道http请求及响应的所有报文,甚至还可以随时修改请求及响应。...部分应用不能抓包的原因 代理抓包的关键就是需要HTTP客户端按照要求去连接代理服务器 一般情况下我们已经在系统层面上设置了代理,通常http客户端都是按要求去实现的,在进行http请求前会先检查系统代理...前面说到了我们APP使用的HTTP客户端没有连接到代理服务器,导致我们的代理抓包软件无法正常抓包,那我们只要想办法让客户端重新连接到代理服务器就好了(当然这一切都是以不修改客户端软件APP为前提的) 方法

    2.6K20

    QUIC助力Snapchat提升用户体验

    以Snap为例,在应用层,我们先将Snap媒体放入HTTP2 request payload中,然后使用TLS确保安全层上的连接安全,再通过TCP将请求分块,并将Snap上传到服务器。...和TCP+TLS+HTTP2协议栈相比,QUIC有如下优点: 更快建连:在发送有效载荷之前,TCP+TLS需要1~3个RTT(往返时延),QUIC支持0RTT。...这就导致延时增加,进而降低用户体验(在移动网络连接环境中)。而QUIC会通过多路复用其他stream来消除这种延时。 连接迁移:如果IP地址发生改变,TCP请求将会失败。...QUIC消除了HTTP2队头阻塞问题,如避免发送信息请求阻塞spotlight短视频请求。 连接迁移:如果wifi连接断掉,无法发送信息,将会大大降低Snap用户的体验,而QUIC解决这个痛点。...最后一个示例:在Android上启用连接迁移后,wifi连接断掉时的网络请求成功率提升了20%。

    52820

    Android平台渗透测试套件zANTI v2.5发布(含详细说明)

    0×01 获取 zANTI 安装包 在国内很多 Android 应用商店中,都没有提供 zANTI 软件包的下载。所以,用户必须要在 zANTI 工具的官网下载。...所以,在实施渗透测试之前进行一些简单设置。如修改 MAC地址、了解网络等。通过进行简单的配置,不仅可以保护自己的身份被暴漏,而且还可以提高渗透效率。如果要想扫描其它无线网络,则需要首先连接到该网络。...例如,用户可以直接在 Android 设备上安装万能钥匙。...再举一个例子:某个商业客户C把商业文件通过这个WIFI发送公司职业D,刚刚好在同一个WIFI下,有个安全爱好者F使用了中间人欺骗,一不小心把这个商业文件给中间截获了,看到了里面客户信息(姓名、手机号码、...此外有很多功能等待我们去探索,例如HTTP服务器,HTTP重定向等等。ssl 攻击等等。并且以及把这个东西应用在各种场合达到各种目的,是在太邪恶了。哈哈。 ? ?

    4.6K21

    Android 13 适配指南

    " /> 通知 在 Android R 上设置里开始支持在设置里对应用的通知权限进行管理,但是应用自身是无法修改应用级别的通知权限,所以 App 无法知道自身有没有发送通知的权限 「所以在 Android...image-20220520160354680 选择“允许”,应用就可以通过任何渠道发送通知,并发布与前台服务相关的通知; 选择不允许选项,应用将无法发送通知,除了几个特定规则之外,所有通知渠道都会被屏蔽...或更低版本为目标平台,系统临时授予应用发送通知的权限,直到用户在权限对话框中明确选择一个选项; 最后测试和总结一下: 「如果是 TargetSDK 在 Android 12L (32) 以下,只要用户同意才能发送通知...,一般是在应用启动的时候,比如用户点击了不允许,就无法发出通知,需要等到下次 App 再启动,才会再次询问,或者去设置通知中心打开」; 「如果是 TargetSDK 在 Android 13 (33)...❝只要你的应用不会通过 Wi-Fi API 来推导物理位置,那么当你以 Android 13 或更高版本为目标平台并使用 Wi-Fi API 时,就可以请求 NEARBY_WIFI_DEVICES 而不是

    5.2K31

    会中切换网络总掉线?腾讯会议用这种方案让你好好开会

    因此 TCP 天然无法支持在 wifi 和 cellular 之间无缝切换,也就导致一旦用户切换网络,整个长链接必须断开重连,否则数据无法继续传输。...表现在会议产品上就是会出现「转菊花」场景,等待重连成功,见图 2: 图 2 TCP连接情况下 cellular/wifi 切换表现 在断开重连期间,所有指令数据都无法发送接收。...03、尝试吃掉 QUIC 这只大螃蟹:解决方案 QUIC 目前只有 http 协议的应用,那么它对于长链接的适用性怎么样呢?理论上完全可行,实际上我们一无所知,业界之前也没有做过这方面的尝试。...我们考察了业内比较完善的 quic 组件方案,详见图 6: 图 6 QUIC 方案选型 *注:cronet 仅暴露应用层 http 接口,无法满足传输层接口封装需求。...HTTP 切换QUIC 通道也基本部署完成、进入测试环节。QUIC 本来就是 google 为 HTTP 请求量身打造的。

    1.4K30

    Android微信智能心跳方案

    在支持GCM的设备上,主要靠GCM来激活WhatsApp,WhatsApp启动后,会建立一个与服务器的长连接,直接通过此长连接发送Push消息,这个长连接10分钟无消息就会主动断掉,且这十分钟内不做心跳...轮询策略(在红米和Nexus S上使用),如图2-1所示。与心跳策略的主要区别用红色标出,客户端在长连接建立后也会定时发送请求,Server会回复并且同时关闭长连接。...c)Android应用不需要运行就可以接收消息(通过Android广播)。 d)GCM不保证发送的消息的顺序,也不保证消息一定能够推送到手机。...3.4 GCM Server类型 GCM提供两种Server模型: a)HTTP Server : 使用同步接口发送HTTP请求,一次请求可以发给最多1000个设备。...b)XMPP Server :使用异步接口发送请求,只支持对单个设备(或同一个用户的多个关联设备发送),发送请求并发数须小于1000,支持设备到云端Server发送数据。

    8.5K142

    tcpip协议, http协议,socket通讯demo,socket和http的区别,socket和http优势,socket和http适用范围,流、帧、包、位的区别

    --允许应用程序改变WIFI连接状态--> android:name="android.permission.CHANGE_WIFI_STATE"/>...--允许应用程序访问WIFI网卡的网络信息--> android:name="android.permission.ACCESS_WIFI_STATE"/>...(4)Http连接: HTTP协议是建立在TCP协议之上的一种应用,HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。...实际上http协议就是建立在tcp/ip协议之上的。...关于TCP/IP和HTTP协议的关系: “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,

    18711

    iOS Charles 抓包指南 – 从入门到精通

    Step 5: 配置手机代理 手机和 MacOS 连接到同一个 WIFI 网络。...日常使用 应用一: 过滤网络请求 1.方法一:Filter 栏–>过滤关键字 2.方法二:在 Charles 的菜单栏选择 Proxy –> Recording Settings –>Include –...> add( 依次填入协议+主机地址+端口号,实现只截取目标网站的封包 ) 3.方法三:在想过滤的网络请求上右击,选择 “Focus”,在 Filter 栏勾选上 Focussed 应用二:...3.电脑上打开Charles, iPhone 上的任意连网的程序, 然后,Charles 就会弹出 iPhone 请求连接的确认菜单,点击 “Allow” 即可完成设置。...Charles 默认也并不截取 Https 网络通讯的信息,若想对截取某网站上所有 Https 网络请求,在该请求上右击选择 SSL proxy 2.截取移动设备中的 Https 通讯信息 2.1

    1.7K40

    一文读懂 QUIC 协议:更快、更稳、更高效的网络通信

    如果想 10 个请求并发,不需要串行等待的话,在 HTTP1.1 中,应用就需要为一个域名同时建立 10 个 TCP 连接才行(一般浏览器不允许建立这么多),这无疑是对资源的极大的浪费。...QUIC 协议的优秀特性 2.1 建连快 数据的发送和接收,要想保证安全和可靠,一定是需要连接的。TCP 需要,QUIC 也同样需要。连接到底是什么?...是因为 client 在发送第一个包 client hello 时,就带上了数据(HTTP 请求),从什么时候开始发送数据这个角度上来看,的确是 0-RTT。...终端的缓存区大小不必在整个连接生命周期内保持不变。这里记住:乱序帧一定要缓存下来。如果不缓存,会导致连接失败。如果终端的缓存区不够用了,则其可以通过暂时扩大缓存空间确保握手完成。...假设在传输过程中,请求 1 的某个数据包丢了,如果是 TCP,即使请求 2 的所有数据包都收到了,但是也只能阻塞在内核缓冲区中,无法交给应用层。

    4.8K22

    部分APP无法代理抓包的原因及解决方法

    这里还有个细节正常在没有代理的情况下客户端向服务器发送的请求行里只包含部分URI(实际上是没有方案,主机名及端口的) 如上图如果在没有代理的情况下,对www.baidu.com/index.html...因为在原始的HTTP设计中没有考虑中间服务器(即代理)的情况,客户端在发送报文前已经知道服务器的地址并与之建立了连接,没有必要再发送方案,主机名及端口。...现在我们的请求实际上都是通过代理服务器(Fiddler 或 Charles)发送出去的,所以代理抓包软件不仅知道http请求及响应的所有报文,甚至还可以随时修改请求及响应。...部分应用不能抓包的原因 可以看到代理抓包的关键就是需要HTTP客户端按照要求去连接代理服务器,一般情况下我们已经在系统层面上设置了代理,通常http客户端都是按要求去实现的,在进行http请求前会先检查系统代理...前面说到了我们APP使用的HTTP客户端没有连接到代理服务器,导致我们的代理抓包软件无法正常抓包,那我们只要想办法让客户端重新连接到代理服务器就好了(当然这一切都是以不修改客户端软件APP为前提的)

    35.9K1512

    移动平台下的Socket几个问题

    页游跑在浏览器里,所有的连接成功、失败等操作,都可以通过addEventListener进行监听,很方便,一般也不存在频繁掉线的情况。...下面列一下在Android、IOS设备上HOME、电源键对网络的影响: 平台 Home键切后(网络状态) 电源键(网络状态) Android Y Y IOS Y N 其它的2G/3G/4G/Wifi之间的相互切换...假设服务器突然断电了,客户端是不知道服务器端已经无法连接了的,还会认为可以发送数据给服务器端。通常都是使用心跳包进行检测来双方的连接是否还存在。...不过我遇到一件奇葩的事情是,在三星GTI9000 Android 2.3.6系统上,将游戏切入后台,网络状态由2G变成wifi,不回调socket,调用发送之后也没有触发关闭回调方法,其它能借用到的Android...后端处理是这样的,建立socket时会随机生成一个密钥串,当客户端断开连接时,拿这个密钥串向服务器进行验证,但是服务器验证时有个特殊的判定,如果请求生成密钥串的客户端IP与重连时的客户端IP不一致,则认为是非法请求

    2.2K40

    程序员逆天骚操作,使用硬件声控触发CICD流水线来部署项目

    需要硬件来采集语音指令,然后这个硬件还需要具有联网功能,因为需要根据语音指令来发送一个HTTP请求。...Block上编码,需要下载安装 ESP8266 是在Arduino IDE上编码 两者都需要连接串口,没有安装芯片驱动的新电脑也需要安装驱动。...当GPIO5 的电平发生变化时,由高变低,或由低变高后,就会发送触发流水线的HTTP请求。需要在请求头部设置token。...也就是这一步 wifiClient.setInsecure(); // 禁用证书验证 排查接口问题,可以尝试在终端发送请求,确保token和接口能正常触发流水线。...效果展示 由于ESP8266 一直连接到Arduino IDE,我们可以打开串口控制台,看一些实时的信息,下图就是一个电平改变后,发送了HTTPS请求,Response就是接口返回的数据。

    8910

    流量都去哪儿了 —— 三板斧搞定Android网络流量测试

    人们在享受移动互联网带来的方便的同时,也需要向网络运营商支付昂贵的“流量”费用(在移动网络下)。下图的流量提醒的短信大家应该很熟悉: ? 事实上,这些流量都是手机里的应用在进行网络通信时所产生。...一个应用是否费流量可能影响到用户的使用频率甚至决定用户是否继续使用。 流量测试可以通过测量应用在特定使用场景下所产生的流量,从而发现异常流量和改进点。促使应用节省流量。...应用层的数据要经过TCP层、IP层和以太网接口层的层层包装才能在物理链路中传输。因此,应用程序要通过网络传输数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。...需要注意的是如果真实网络接口不能工作在'混杂'模式(promiscuous)下,则无法在'any'这个虚拟的网络接口上抓取其数据包。所以你如果使用 ....如何判断一个应用的流量消耗偏高 如果看流量的绝对值看不出高低,那就找几个同类型的产品对比一下。如果完成同样的事务,被测应用比同类产品高很多,那就是偏高了,可能有优化空间。

    4.1K61

    Wi-Fi 进化论:从过去到未来(610)

    ALOHAnet 是广为人知的 ARPAnet 的一个更小的无线版本,允许大学的研究人员共享网络并通过固定电话发送消息。...如果驱动过时,可能会导致网络连接出现问题,或者无法发挥出设备的最佳性能。同时,考虑升级硬件以支持更快的网络连接也是一个不错的选择。...检查网络设置 如果重启路由器后问题仍然存在,那就需要检查网络设置了。首先,确保 WiFi 名称(SSID)和密码输入正确。一个小小的输入错误都可能导致无法连接网络。...如果设备配置混乱,可以尝试重置网络配置或恢复出厂设置。这就好比我们在调整手机设置时,如果出现问题,可以选择恢复出厂设置来重新开始。通过正确的网络设置,可以确保设备能够顺利连接到无线网络。 4....Wi-Fi 环境下网络请求) 下面代码先检查网络连接是否可用(这里假定 Wi-Fi 已正常配置连接在设备上),之后发起简单 HTTP 请求获取网页内容示例。

    12510

    得物自研移动端弱网诊断工具的技术实践分享

    对于Android:我们通过OkHttp完成Http请求,通过向OkHttp注册网络监听即可实现。...需要说明的是:在不修改源码的情况下,Android无法获取到收到第一个响应数据包的时间,只能监听到Header读取完成,这会有些许误差,但实测下来可以忽略。...这意为着我们要时刻监控每一个Http请求中每个字节的读取,成本太高了。另一方面,如果有其他非Http请求(或者我们App之外的请求)也在进行,我们仅测算App内Http请求的吞吐量显然是偏低的。...图20 - 用户C全部请求及HttpRTT、吞吐率:10、应用场景1)并行Http2.0连接:我们知道HTTP/2.0 支持多路复用,可以同一个TCP连接上进行并发的数据交换,而不像HTTP/1.1需要多个...在正常网络环境下能够降低一部分延迟,然在弱网环境下TCP的队头阻塞问题将使请求变得更慢,那么我们在弱网时,并行建连多个H2连接将能在一定程度上缓解此问题。

    15520

    UIAutomator2的使用教程

    三、工作原理 如图所示,python-uiautomator2主要分为两个部分,python客户端,移动设备 python端:运行脚本,并向移动设备发送HTTP请求 移动设备:移动设备上运行了封装了...整个过程 在移动设备上安装atx-agent(守护进程),随后atx-agent启动uiautomator2服务(默认7912端口)进行监听 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的...server端) 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作 四、安装 4.1 环境要求 python 3.6+ android 4.4+ 4.2 安装adb   如命令行可以执行...设备连接方法   python-uiautomator2连接手机的方式有两种,一种是通过WIFI,另外一种是通过USB。...(1)通过WiFi,假设设备IP 192.168.0.1和您的PC在同一网络中 import uiautomator2 as u2 d = u2.connect('192.168.0.1') # WIFI

    8.4K21
    领券