安卓设备脱离pc自动化测试,Termux模拟器下python+uiautomator2的环境设置。本人亲测,踩坑总结。

termux是一个终端模拟器,无需root,今天讲解安卓python+uiautomator2来实现安卓设备脱离pc的自动化环境设置:

--------表示环境设置的坑太多,本人搞了很久,现做个详细总结-------- from Daron

1.安装成功termux

2更新源pkg update pkg upgrade (apt与pkg命令效果类似)

指令:pkg upgrade

3.安装python及更新pip

pkg install python

python -m pip install – upgrade pip

之后就可以pip install 三方库

4.安装ipython(这个可以选装,看个人喜欢)

pip install ipython

进入ipython界面直接输入指令:ipython

退出则输入exit

5.pip install uiautomator2一直报错lxml安装出错的问题(关于这个问题,个人表示很无语,搞了很久)

解决办法如下:

先要按照以下包和三方库:

apt install clang

apt install libxml2

apt install libxslt

pip install cython

pip install lxml     ———安装的过程很慢,需要耐心等待

之后再安装uiautomator2又出现安装pillow库失败、这时候要解决这个问题需先安装这两个包:

pkg install libjpeg- turbo

pkg install zlib

最后安装uiautomator2就成功了。

6.手机要使用uiautomator2操作手机的话需要以下操作:

先在termux安装adb环境:

pkg install android- tools

然后试下adb指令是不是可以用了

再到手机打开开发者模式,并开启adb调试

手机连接电脑查看设备是否连接上:adb devices

然后在电脑执行python初始化设备:

python -m uiautomator2 init

最后提升success,代表atx-agent初始化成功!

提示:Successfully init Adb Device(serial=设备号)

回到安卓设备上面的termux,执行下面指令:

import uiautomator2 as u2

dev = u2.connect(“0.0.0.0”)

print(dev.info)

这时候会显示连接设备的提示,中途闪一下弹窗show float window,最后成功打印设备详情。

之后就可以在安卓手机上使用python+u2来实现自动化测试了。

-------------------------------------------------------------------------------------------------------------------------

用了几次发现,把脚本拉到安卓设备上,每次运行还是得USB连上PC端先执行python -m uiautomator2 init;之后在uiautomator2才能在安卓设备端成功链接自身,运行测试脚本后方能拔掉USB;

但是如果跑完了这次脚本,下次再要uiautomator2重连安卓设备还是会显示Offline,必须重新USB连上PC端先执行python -m uiautomator2 init,很无语,这种方法并没有真正意义上的脱离PC端单独在设备上执行安卓自动化测试。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,我会依次回答你的问题。首先,关于Python+unittest编写测试用例和测试驱动程序的过程,具体步骤如下: 1. 安装Python和unittest库。 2. 编写测试用例,即编写测试类和测试方法,在测试方法中编写测试代码。 3. 编写测试驱动程序,即编写主程序,调用测试用例并运行测试代码。 4. 运行测试驱动程序,查看测试结果。 下面是一个简单的示例: ```python import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper()) if __name__ == '__main__': unittest.main() ``` 在上面的示例中,我们定义了一个名为TestStringMethods的测试类,其中包含两个测试方法test_upper和test_isupper。在测试方法中,我们使用了unittest库提供的assertEqual和assertTrue/False方法对测试结果进行判断。最后,我们在主程序中调用unittest库提供的main函数,运行测试驱动程序并查看测试结果。 接下来,关于实现嵌入式自动化测试的基本流程,具体步骤如下: 1. 确定测试目标和测试需求。 2. 设计测试用例,包括输入输出、边界条件、异常情况等。 3. 编写测试代码,包括测试类和测试方法。 4. 配置测试环境,包括硬件设备模拟器、仿真器等。 5. 运行测试代码,收集测试结果。 6. 分析测试结果,对测试代码进行优化和改进。 在实现嵌入式自动化测试时,需要注意以下几点: 1. 确保测试代码和被测试的代码在同一环境中运行。 2. 选择适当的测试工具和框架,如Python+unittest、Robot Framework等。 3. 编写清晰、简洁、可维护的测试代码。 4. 对测试结果进行统计和分析,及时发现和解决问题。 希望以上回答能够帮助到你!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值