appium 安装方式

sudo apt install openjdk-8-jdk
java -version

sudo apt update
sudo apt install android-sdk
sudo apt install android-tools-adb

安装好后,sdk位置为/usr/lib/android-sdk/

设置环境变量

vi .bashrc
source .bashrc

export ANDROID_HOME=/usr/lib/android-sdk
export PATH=$PATH:$ANDROID_HOME/tools
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/jre
export PATH=$PATH:$JAVA_HOME/bin

生效:
source .bashrc

安装nvm
cd ~/
git clone https://github.com/nvm-sh/nvm.git .nvm
. ./nvm.sh

vi .bashrc
添加:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

否则下次进入无法找到命令appium nvm node.

切换国内源:
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
安装node, npm
nvm install --lts

node -v
npm -v

npm 切换阿里源

npm config set registry https://registry.npm.taobao.org

安装appium

npm intall -g appium

启动:
appium &

安装python

apt-get install python3
apt-get install python3-pip

安装python客户端

pip install appium-python-client
(安装python库)

py脚本

#!/usr/bin/env python3
# encoding: utf-8
from appium import webdriver
import time
desired_caps={
    'platformName':'Android',
    'deviceName':'HXJNW18223012xxxx', #填写自己的deviceName
    'platformVersion': '8.0.0',
    'appPackage': 'com.tencent.mm',
    'appActivity':'.ui.LauncherUI',
    'noReset': True
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
time.sleep(10)
driver.quit()

注意deviceName platformVersion要填写正确

注意脚本里面的noReset true,如果没有这个,微信聊天记录会被清空!!!!其他应用也是吧

windows 安装

http://www.haovps.com.cn/article/187648.html

错误调试:
appium 启动的一个错误Unable to find an active device or emulator with OS 10. The following are available: RFCNA082NWX (11)
系统版本错误,platformVersion

urllib3 (1.26.9) or chardet (3.0.4) doesn’t match a supported version

解决方法:

pip3 install --upgrade requests

inspect 中如果出现:/session

解决方法:新版inspector中的Remote Path我看了一下默认值是“/”,之前版本都默认好了的,把这个改为“/wd/hub“就行了

1 获取栈顶 Activity
打开目标应用,使用 adb 查找当前界面所属 activity 及对应的 app 包名

方法一:
adb shell dumpsys window | findstr mCurrentFocus
方法二:
adb shell dumpsys activity | findstr mFocusedActivity

如何获取一个APP的包名

1.adb shell pm list package -f

1.dump package 包名

使用命令:adb shell

        dumpsys package com.saj.esolar 回车之后找到包含“category.LAUNCHER” 字样的Activity即可

2.使用Monkey命令 monkey -p com.saj.esolar -vvv 1 可以设置日志的详细程度,当我们指定为 -VVV 的时候,并且指定模拟随机事件为一次,即可查看:

启动多个server

appium 多设备
Appium在分布式同时执行多设备时,是必须一个appium服务端对应一台设备,并且根据app类型的不同,启动服务端所带的参数也不同,以下是对各种类型应用的服务端对应启动命令详解:

-p :表示appium服务端和测试脚本之间通信的端口

-bp:表示appium服务端和手机上的bootstrap服务通信的端口

–chromedriver-port:表示启动的chromedriver的端口

  1. 原生app

appium -p 4490 -bp 2345 第一台设备对应的服务端启动命令

appium -p 4491 -bp 2346 第二台设备对应的服务端启动命令

  1. 混合app

appium -p 4490 -bp 2345 --chromedriver 8201 第一台设备对应的服务端启动命令

appium -p 4491 -bp 2346 --chromedriver 8202 第二台设备对应的服务端启动命令

  1. 纯H5 app

appium -p 4490 --chromedriver-port 8001 第一台设备对应的服务端启动命令

appium -p 4491 --chromedriver-port 8002 第二台设备对应的服务端启动命令

  1. 使用uiautomator2模式时,需要指定服务端和手机上uiautomator2服务通信的端口,但是该端口目前在启动appium时无法指定,需要在脚本中的driver初始化参数里进行指定,如:

DesiredCapabilities caps = new DesiredCapabilities();

caps.setCapability(AndroidMobileCapabilityType.SYSTEM_PORT, 8201);

python 样例:

https://blog.csdn.net/u013314786/article/details/83216390?

php 样例

https://applitools.com/tutorials/appium-native-php.html#install-the-sdk

中文文档:

http://appium.io/docs/cn/writing-running-appium/caps/

键盘:https://blog.csdn.net/linmumum/article/details/89487080
python+appium,回车,手机键盘等调用

from appium import webdriver
import time
desired_caps={
'platformName':'Android',
'deviceName':'192.168.132.8', #填写自己的deviceName
'platformVersion': '11',
'appPackage': 'com.android.browser',
'appActivity':'com.android.browser.BrowserActivity',
'noReset' : True
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

#time.sleep(15)
#driver.find_element('com.android.permissioncontroller:id/content_container').click()


#time.sleep(5)
#driver.find_element('com.android.permissioncontroller:id/content_container').click()


#time.sleep(5)
#driver.find_element_by_id('com.android.permissioncontroller:id/content_container').click()

driver.find_element(by='id',value='com.android.browser:id/url').click()
time.sleep(5)
print('在搜索框输入')
driver.find_element(by='id',value='com.android.browser:id/url').send_keys('www.baidu.com\n')
time.sleep(2)
driver.press_keycode(66)
time.sleep(10)
driver.quit()

其他资源:

控制设备:
About
Control and manage Android devices from your browser.

https://github.com/kin9-0rz/apkutils

Genymobile
scrcpy
Display and control your Android device

https://github.com/Genymobile/scrcpy

多屏投屏:
https://www.jianshu.com/p/32e7254f1fdb

JAVA案例
https://blog.csdn.net/yqw7410/article/details/88043193
https://www.jianshu.com/p/a3ba6835cebd
APP自动化测试神器之Appium-QQ登录脚本实战(java版)
https://zhuanlan.zhihu.com/p/144670335
https://zhuanlan.zhihu.com/p/136289385

Appium-元素定位(Java篇)
https://www.cnblogs.com/bugoobird/p/13797814.html

关于Appium安装和使用,以下是详细步骤: 1. 安装Node.js Appium是一个基于Node.js的开发工具,首先需要在你的计算机上安装Node.js。你可以从Node.js官方网站(https://nodejs.org)下载适合你操作系统的版本,然后按照安装向导进行安装。 2. 安装Appium Server Appium Server是Appium的服务器端,它用于与移动设备进行通信。你可以通过命令行或者Appium Desktop来安装Appium Server。 方式一:通过命令行安装 打开命令行终端,并执行以下命令安装Appium Server: ``` npm install -g appium ``` 方式二:通过Appium Desktop安装 Appium Desktop是一个可视化工具,可以方便地管理和启动Appium Server。你可以从官方网站(https://appium.io)下载适合你操作系统的版本,并按照安装向导进行安装。 3. 设置Android环境 如果你希望使用Appium进行Android应用的自动化测试,你需要设置Android开发环境。 - 安装Java Development Kit (JDK) 访问Oracle官方网站(https://www.oracle.com/java/technologies/javase-jdk8-downloads.html)下载并安装适合你操作系统的JDK版本。 - 配置JAVA_HOME环境变量 在系统环境变量中添加JAVA_HOME变量,并将其值设置为JDK的安装路径。 - 安装Android SDK 访问Android开发者网站(https://developer.android.com/studio)下载并安装Android Studio。在Android Studio中,安装所需的Android SDK版本。 - 配置ANDROID_HOME环境变量 在系统环境变量中添加ANDROID_HOME变量,并将其值设置为Android SDK的安装路径。 - 更新PATH环境变量 在PATH环境变量中添加以下路径(根据你的安装路径进行修改): ``` %ANDROID_HOME%\platform-tools %ANDROID_HOME%\tools %ANDROID_HOME%\tools\bin ``` 4. 安装Appium Client库 在你的测试项目中,你需要使用Appium Client库来编写测试脚本。你可以使用npm命令安装Appium Client库,执行以下命令: ``` npm install wd ``` 5. 运行Appium Server 如果你使用的是Appium Desktop,启动Appium Desktop并点击“Start Server”按钮启动Appium Server;如果你使用的是命令行,执行以下命令启动Appium Server: ``` appium ``` 6. 编写测试脚本 使用你喜欢的编程语言(如Java、Python等),引入Appium Client库,并编写你的测试脚本。你可以参考Appium官方文档和示例代码来学习如何编写测试脚本。 这些是Appium安装和使用的详细步骤,希望对你有帮助!如果你有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值