首页 > 其他分享 >appium自动化测试

appium自动化测试

时间:2023-08-13 20:11:17浏览次数:36  
标签:appium com apk adb 测试 自动化 android tools


appium环境搭建
(自行安装jdk1.8)
参考网址
https://www.cnblogs.com/zhaojiaoyang0202/p/12955678.html
参考网址
https://www.byhy.net/tut/auto/appium/01/


1.pip install Appium-Python-Client

2.pip install selenium -U

3.下载androidSDK(在云盘下载后,解压到本地即可)

4.配置androidSDK的环境变量

1)添加系统变量:ANDROID_HOME=D:\androidsdk

2)在环境变量Path中添加:%ANDROID_HOME%\platform-tools

5.列出当前的连接设备:adb devices -l

手机端配置

1)启动开发者模式

2)开启开发者选项和USB调试,USB安装,USB调试(安全设置)

3)USB选项:传输文件(MTP)

6.列出当前的连接设备:adb devices -l

(显示的依然是图一,电脑和手机没有连接成功)

解决方法:换一根数据线,重新列出所有设置,连接成功

7.将appium-server启动(安装成功之后,直接点击Start Server)之后,运行测试脚本,提示:

(selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME or ANDROID_SDK_ROOT environment variables to the corect Android SDK root directory path)

解决方法:把appium重启,建议在生成driver的地方打断点,重新运行代码可以成功

8.建议在控制台进入bin目录执行命令:sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.3"
(在提示的目录下创建repositories.cfg文件)

执行成功

jdk1.8下载链接:https://pan.baidu.com/s/1TaUefulvs52kJE8G8fc0vQ,提取码:gann

androidSDK下载链接:https://pan.baidu.com/s/10_vf0iD5o3335MVEHQAUQg ,提取码:xyu9

Appium-windows-1.13.0下载链接:https://pan.baidu.com/s/1C-Ly-NzVx8xYX1F-gQ6uew ,提取码:tvh5

Appium-windows-1.15.1下载链接:https://pan.baidu.com/s/1c2MzNZqMrFtdfyLlOtbpxQ ,提取码:m91e

 

 

from appium import webdriver
from selenium.webdriver.common.by import By
from appium.webdriver.extensions.android.nativekey import AndroidKey

desired_caps = {
'platformName': 'Android', # 被测手机是安卓
'platformVersion': '8', # 手机安卓版本
'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
'appActivity': '.ui.splash.SplashActivity', # 启动Activity名称
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': True, # 不要重置App
'newCommandTimeout': 6000,
'automationName' : 'UiAutomator2'
# 'app': r'd:\apk\bili.apk', 这个是apk
}

注意: 'platformVersion': '8', # 手机安卓版本 手机版本号对应上

9.如果你应用已经安装在手机上了,可以直接打开手机上该应用,进入到你要操作的界面
然后执行
adb shell dumpsys activity recents | find "intent={"
1)获取:appPackage
2)获取:appActivity
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}
intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000300cmp=com.huawei.android.launcher/.unihome.UniHomeLauncher}
intent={flg=0x10804000 cmp=com.android.systemui/.recents.RecentsActivity bnds=[48,1378][10322746]}
intent={flg=0x10000000 cmp=com.tencent.mm/.ui.LauncherUI}
其中第一行就是当前的应用,我们特别关注最后

cmp=tv.danmaku.bili/.ui.splash.SplashActivity

 

 

 

 

 

有apk
如果你已经获取到了 apk,在命令行窗口执行

d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find "package: name="
输出信息中,就有应用的package名称

package: name='tv.danmaku.bili' versionCode='5531000' versionName='5.53.1' platformBuildVersionName='5.53.1' compileSdkVersion='28' compileSdkVersionCodename='9'
在命令行窗口执行

d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find "launchable-activity"
输出信息中,就有应用的启动Activity

launchable-activity: name='tv.danmaku.bili.ui.splash.SplashActivity' label='' icon=''

 

 

 

建立无线连接
首先我们也要插上线

adb无线连接
1.USB连接手机确保adb可以正常连接
C:\Users\shone>adb devices
List of devices attacheddevice882QAEU99J9HU
2激活adb服务
adb tcpip 端口号(建议默认用5555)
C:\Users shone>adb tcpip 5555
restarting in TCP mode port: 5555
3.通过手机局域网IP连接手机
这里的ip是手机跟电脑相同wifi的ip在手机无线里面查看
c:\Users shone>adb connect 192.168.0.103
already connected to 192.168.0.103:5555

 

 

 

连接夜神模拟器

1.下载好夜神模拟器点击夜神模拟器设置里面调节成手机模式

2. 启动夜神模拟器服务  adb connect 127.0.0.1:62001

3.adb devices -l 查看连接是否成功

4.打开Appium Inspector.exe  Appium Server GUI.exe这两个软件  输入模拟器型号名称这些参数点击建立连接如果失败应该是adb版本不对应

用这个网址更改配置文件adb.exe在B:\appium\zls\android-sdk-windows\platform-tools这个目录下面       https://blog.csdn.net/qq_35367566/article/details/108706860

 

标签:appium,com,apk,adb,测试,自动化,android,tools
From: https://www.cnblogs.com/yuhaotian/p/17627154.html

相关文章

  • ASPICE流程集成和测试
    ASPICE流程集成和测试是指将各个模块集成在一起,并进行整体测试,确保系统的功能和接口都符合要求。这一过程包括以下步骤:集成计划:编制集成计划,确定集成顺序、集成方法、集成时间等。模块集成:逐步将各个模块集成到整个系统中,确保每个模块的功能和接口都正确。系统测试计划:根据系统架构......
  • Burp Suite Professional / Community 2023.9 (macOS, Linux, Windows) - Web 应用安
    BurpSuiteProfessional/Community2023.9(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023/,查看最新版。原创作品,转载请保留出处。作者......
  • 基于YOLOv3的交通标志检测的实现和测试​
    1搭建环境1.1YOLO实践应用之搭建开发环境Anaconda3Anaconda是一个开源的Python语言发行版及其包管理器,在数据科学、机器学习和科学计算领域广受欢迎。Anaconda使用Conda进行包管理。Conda可以创建虚拟环境来隔离不同项目所需的包和依赖,并可以方便地提交代码和环境设置,它包含了众......
  • 接口压力测试
    接口压力测试参考博客:[接口压测实践-压力测试常见参数解释说明使用场景对指定接口进行性能测试时,一些常见参数解释说明。一键并发详情详见:Postman基础注意:请勿设置太大的并发量或者循环次数,这有可能导致直接将被压服务压崩溃或者将路由器压崩溃。参考参考下方【实践】......
  • n、Appium_Python_Api
    一、Appium_Python_Api方法参考博客:https://blog.csdn.net/ezreal_tao/article/details/80911950https://cloud.tencent.com/developer/article/1569596contextscontexts(self):Returnsthecontextswithinthecurrentsession.返回当前会话中的上下文,使用后可以识别H5......
  • 性能测试
    性能测试cProfilePython代码性能分析之cProfilePython编程时,除了要保证代码功能的正确性,还要考虑代码的执行效率。什么是cProfilecProfile(语言编写的测试模块)是一个标准库内建的性能分析工具,可以在标准输出中看到每一个函数被调用的次数和运行的时间,从而找到程序的性能瓶颈......
  • 了解用户需求与反应:Striff.ai 用户测试平台
    在产品开发的早期阶段就能够了解用户的需求和反应是每个项目团队梦寐以求的。然而,在编码之前很难准确地预测用户对产品的感受和期望。现在,有一个革命性的人工智能用户测试平台——Striff.ai可以帮助你实现这一目标。Striff.ai是什么?Striff.ai是一家创新的人工智能用户测试平台......
  • ASPICE流程编码和单元测试
    ASPICE流程编码和单元测试是指根据详细设计,编写符合ASPICE标准的代码,并对每个模块进行单元测试。这一过程包括以下步骤:编写代码:根据详细设计,编写符合ASPICE标准的代码,确保代码质量和可维护性。代码审查:对编写好的代码进行审查,发现并纠正潜在问题,确保代码质量和可靠性。单元测试计划......
  • 【我和openGauss的故事】openGauss索引推荐功能测试
    _openGauss2023-07-2818:22发表于四川收录于合集#第六届openGauss技术文章征集初审合格文章62个一、单索引推荐单索引推荐功能,目前支持select查询,看官方介绍类似oracle中的sql_tunning_adviser,不过只是推荐创建索引。根据sql优化原理,猜测应该时根据选择来推荐索引。1、查看sql......
  • WEB自动化-Allure报告-添加日志内容到Allure报告
    如果想把LOG内容输出到Allure报告,步骤如下:1、创建pytest.ini文件,设置规则 2、创建conftest文件,设置driver和日志封装及截图#浏览器驱动importloggingimportallureimportpytestfromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOpti......