
移动端测试
文章平均质量分 65
移动端测试
舌尖上的蛋炒饭
持续学习是一个人的自我修养,你的行为方式为人处事潜移默化的被书中的人或事影响。在自己的身上不断演绎着忒修斯之船悖论,才是保持思考与年轻的关键。世界纷繁复杂,社会花花绿绿,每个人都在时间中奔跑啊,记得偶尔停下来,生活不止有短视频不止有游戏不止有工作,除了是一个看客一个player一个员工,还是父母的儿子是妻子的丈夫也是一个可以独立思考的人。
展开
-
记一次adb查找安卓App崩溃报错记录
这块我们就比较熟悉,和查看普通的异常一样,可以很明确的知道ANR 发生在MainActivity 28行处,原因是Thread.sleep(),此时我们再回到上面自己的代码层面,结果已经很明确。这个时候就会把logcat日志传输到本地,但是注意,等你操作完了,就可以关闭adb窗口了,要不然他会一直往windows本地的文件里写入日志,关闭后就不写入了。当然,实际开发中的ANR通常不会这么简单,有些也没那么容易分析,这个就需要大家通过此篇文章的借鉴,结合实际开发多分析,多优化来增长自己的能力。原创 2023-04-21 11:57:34 · 3288 阅读 · 0 评论 -
Airtest的UI自动化番外篇、安卓手机密码键盘在AirTest上黑屏
在使用AirTest测试的过程中,涉及到密码的时候,会出现airtest监控的手机页面黑屏(手机没黑屏,只是电脑监控的页面黑屏)的情况,没有办法定位元素。那这种情况又细分为两种。原创 2023-03-10 14:23:14 · 2342 阅读 · 1 评论 -
soloPi使用记录及尝试关闭现有UIAutomator与Instrument进程解决办法
soloPi使用记录及尝试关闭现有UIAutomator与Instrument进程解决办法原创 2023-03-07 18:28:03 · 511 阅读 · 0 评论 -
埋点测试简单流程
埋点测试不知道有没有人和我有一样的感受,其实很简单的东西,但是由于平时没接触过,就感觉很疏远,而且网上可能相对接近真实工作的例子有比较少,偏偏面试的时候要问,就被卡住了,很无助,埋点测试就是其中一个例子,被面试官问到的人也是我。所以在遇到后把经验分享出来,希望有需要的人能看到,共同进步。埋点测试的条件需要产品将埋点信息发给你,一般是一个EXCEL...原创 2021-09-28 10:40:04 · 18477 阅读 · 8 评论 -
Appium报错:java.lang.SecurityException: uid 2000 does not have android.permission.WRITE_SECURE_SETTING
Appium报错:java.lang.SecurityException: uid 2000 does not have android.permission.WRITE_SECURE_SETTINGS.小米:在开发者选项里,把“USB调试(安全设置)"打开即可。 允许USB调试修改权限或模拟点击oppo:在开发者选项里,把"禁止权限监控"打开即可。...原创 2021-08-09 13:11:26 · 2395 阅读 · 1 评论 -
Appium之生成服务端appium指令+Python执行命令行+获取设备信息+端口设定+多线程启动Appium+多进程执行测试用例
Appium之生成服务端appium指令+Python执行命令行+获取设备信息+端口设定+多线程启动Appium+多进程执行测试用例python命令行获取devicesIDimport osprint(os.system('adb devices'))print("os.system只能打印出设备信息来,但是并不能让我们通过命令提取出设备信息")print(type(os.system('adb devices')))print(os.popen('adb devices'))print("原创 2021-08-02 10:16:50 · 731 阅读 · 1 评论 -
unittest入门并引入多线程
unittest入门并引入多线程郑重声明: 文案全是抄的,因为这篇文章是我见过这一块写的最清晰明了层次分明的。只有练习代码是自己写的,相当于灵魂是人家的。传送门为什么要使用unittest?在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行。使用测试框架可以互不影响的用例执行及更灵活的执行控制unittest特点python自带的单元测试框架,无需安装用例执行互不干扰提供不同范围的原创 2021-08-02 10:14:13 · 1024 阅读 · 0 评论 -
appium之三大等待
appium之三大等待三大等待很奇怪,很多人都爱问,但是说实在的,appUI自动化很少涉及到性能,所以其实只要你愿意等,强制等待和显式等待就够用,毕竟极端情况很少,但是我们还是来了解一下。强制等待sleep设置固定休眠时间,单位为秒缺点:不智能,使用太多的sleep会影响脚本运行速度。import time#强制等待三秒time.sleep(3)隐式等待implicitly_waitdriver.implicitly_wait(10) #隐式等待10秒由webdriver提供的方法,原创 2021-07-25 17:37:36 · 285 阅读 · 0 评论 -
appium之滑动屏幕+判断元素是否存在+截图+toast定位
appium之滑动屏幕+判断元素是否存在+截图+toast定位基础代码import timefrom appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitserver = 'http://localhost:4723/wd/hub'caps = { "platformName": "Android", "deviceName": "JPF4C19123011893",原创 2021-07-25 10:35:42 · 1720 阅读 · 0 评论 -
appium之定位方式
appium之定位方式ByIdByClassNameByXpath层级定位原创 2021-07-23 22:29:09 · 688 阅读 · 0 评论 -
元素定位方式之appium
1、手机链接电脑2、打开appium3、点击startServer4、点击右上角放大镜5、在Desired Capabilities处新增记录,JSON Representation处会自动同步Desired Capabilities的内容。新增内容《安卓第一个测试脚本》中的caps内容一致from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitserver = 'http:原创 2021-07-16 10:22:57 · 162 阅读 · 0 评论 -
UiAutomator2的安装和简单使用(主要是想用里面的weditor)
UiAutomator2的安装和简单使用uiautomator2的安装pip3 install --pre -U uiautomator2手机设备环境手机链接pc,输入adb命令adb devices发现设备后表明设备已连接成功pc终端输入命令,以安装atx-agent至手机python3 -m uiautomator2 init手机连接方式1、使用WIFI连接(同样适用于uiautomator,只是第三步的连接方式使用《安卓第一个脚本》里的方式即可)电脑和手机在同一个Wi-Fi下,手原创 2021-07-09 18:12:54 · 931 阅读 · 0 评论 -
appium环境安装2:解决chromedriver版本问题
Details: session not created: This version of ChromeDriver only supports Chrome version 76在执行脚本的时候遇到了这个问题,尝试去百度,但是都是selenium的解决办法,说是chromedriver版本的问题,要和自己电脑谷歌浏览器的版本保持一致,回想了一下却是自己之前做selenium的时候也是下载了很多chromedriver,虽说这些答案都不太对,唯一一个一样的appium这个问题的帖子还是未解答成功的,那就只原创 2021-07-08 20:25:27 · 1684 阅读 · 1 评论 -
adb常用命令
adb常用命令adb devices查看当前连接的设备ZHR:~ zc$ adb devicesList of devices attachedJPF4C19123011893 deviceadb install为测试机安装apkZHR:~ zc$ adb install ~/Downloads/交通银行/Android_4.1.2-uat-outter-202010151355_商户专用.apkPerforming Streamed InstallSuccess[INSTALL_原创 2021-07-06 11:44:24 · 708 阅读 · 0 评论 -
记录一次Monkey测试全流程
记录一次Monkey测试全流程1、检查设备连接ZHR:~ zc$ adb devicesList of devices attachedJPF4C19123011893 device2、查看测试的包名ZHR:~ zc$ adb shell dumpsys window w | grep name="" mSurface=Surface(name=GestureNavBottom)/@0x286f499 mSurface=Surface(name=GestureNavRi原创 2021-06-25 19:21:45 · 1738 阅读 · 0 评论 -
第一个安卓脚本
安卓第一个脚本先让脚本在真机上跑起来platformName平台名称,如果是安卓的话,固定为“Android”deviceName自己的设备名称(将手机通过USB连接到电脑上)ZHR:~ zc$ adb devices* daemon not running; starting now at tcp:5037* daemon started successfullyList of devices attachedJPF4C19123011893 device其中,JPF4C19123原创 2021-06-24 17:49:31 · 235 阅读 · 0 评论 -
Mac电脑Appium环境安装
MACOS安装appium安装brewbrew是什么Homebrew是 mac的包管理器,仅需执行相应的命令,就能下载安装需要的软件包,可以省掉自己去下载、解压、拖拽(安装)等繁琐的步骤。 比如安装服务器 nginx,打开终端执行以下命令brew install nginxbrew安装指令/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"检查是否安装成功br原创 2021-06-24 17:48:54 · 507 阅读 · 0 评论