Appium+python APP自动化:

Appium+python自动化:

https://www.cnblogs.com/yoyoketang/p/6128725.html

https://www.cnblogs.com/glumer/p/8485052.html

android-sdk下载参考:(豪的文档 --》SDK里installer_r24-4-windows)

https://www.cnblogs.com/summary-2017/p/8073225.html

电脑远程:

https://www.cnblogs.com/yoyoketang/p/6128808.html

前言:安装jdk,配置环境变量。

一,安装 android-sdk

遇到了更新下载失败问题:

解决国内访问Google服务器的困难:

1.启动 Android SDK Manager ;

2.打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;

3.在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,并且选中「Force https://... sources to be fetched using http://...」复选框;4.设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』窗口返回到主界面;

5.依次选择「Packages」、「Reload」。

设置环境变量:

      1.在系统变量新建:ANDROID_HOME,对应变量值为:D:\androidsdk\android-sdk-windows(sdk安装路径)

;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools\28.0.3; 

加入环境变量Path中

cmd打开命令行窗口,在命令行窗口中输入adb -version

二,获取apk包名

cmd里:

aapt dump badging D:\test\xxx.apk(APK的全名,如手机淘宝.apk)

package: name='com.globalegrow.app.gearbest' versionCode='77' versionName='4.1.0' platformBuildVersionName='4.1.0' compileSdkVersion='28' compileSdkVersionCodename='9'

  获取launcherActivity


launchable-activity: name='com.globalegrow.app.gearbest.SplashActivity'  label='GearBest' icon=''

三、安装Node.js (豪的文档 --》SDK里 node-v10.15.3-x64)

下载地址:https://nodejs.org/en/

将Node.js的安装路径(也就是node.exe文件所在的目录)D:\Program Files\nodejs追加到环境变量Path中。

检查一下环境是否配置好,在命令行中输入npm


四、安装.net framework

        由于Appium是用.net开发的,所以安装之前需要安装.net framework,否则安装过程中会报错,官网下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=30653

       下载成功后直接点击安装即可。

四。appium客户端安装。(豪的文档 --》SDK里)

安装完之后打开


cmd:

adb devices


代表手机连接成功

pycharm安装Appium。

下载地址:https://bitbucket.org/appium/appium.app/downloads/

       当前最新版本为 AppiumForWindows_1_4_16_1.zip ,注意这是一个 Windows 版本,如果你的电脑为MAC请下载 appium-1.5.3.dmg 。虽然你已经看到了这些下载包,但我不保证你能下载的下来。

       所以,再来提供一个百度网盘的下载链接:https://pan.baidu.com/s/1pKMwdfX

       我们以 Windows 为例,将下载的 AppiumForWindows.zip 进行解压,点击 appium-installer.exe 进行安装。

在Path中配置appium的环境变量,将安装的Appium文件夹所在目录\Appium\node_modules\.bin添加进path

cmd打开命令行窗口,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境配置成功。

https://blog.csdn.net/wy2210/article/details/79031283

六、安装appium - python - client(这步很重要,目的是需要将Python与appium关联起来)

pip install Appium-Python-Client


或者:


from appium import webdriver

desired_caps = {

'platformName': 'Android',

'deviceName': 'e9dede22',

'platformVersion': '5.0',

# apk包名

'appPackage': 'com.globalegrow.app.gearbest',

# apk的launcherActivity

'appActivity': 'com.globalegrow.app.gearbest.SplashActivity',

'appWaitActivity': ''

}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

# e9dede22       8733c6d4

C:\Program Files (x86)\NetSarang\Xshell 6\;C:\ProgramData\Oracle\Java\javapath;C:\Python27\Scripts;c:\windows\system32;D:\apache-jmeter-4.0\bin;D:\apache-ant-1.10.1\bin;E:\Python3\Python36-32;E:\Git\cmd;C:\Users\jiangjiahao\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\jiangjiahao\AppData\Local\Programs\Python\Python36-32\;E:\Python27;E:\Python27\Scripts;D:\apache-jmeter-4.0\lib\ext\ApacheJMeter_core.jar;D:\apache-jmeter-4.0\lib\jorphan.jar;D:\apache-jmeter-4.0\lib\logkit-2.0.jar;E:\Python3\Python36-32;%JAVA_HOME%\bin;%MAVEN_HOME%\bin;C:\Users\jiangjiahao\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\django;C:\Users\jiangjiahao\AppData\Local\Programs\Python\Python36-32\Scripts;C:\Users\jiangjiahao\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\Django-2.1.3-py3.6.egg\django;C:\Users\jiangjiahao\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\Django-2.1.3-py3.6.egg\django\bin;%JAVA_HOME%\bin;%IDEA_JDK_64%;%MAVEN_HOME%\bin;D:\worksoft\SDK\android-SDK\tools;D:\worksoft\SDK\android-SDK\platform-tools;D:\worksoft\SDK\android-SDK\build-tools\28.0.3;D:\worksoft\SDK\Appium\Appium\node_modules\.bin;D:\worksoft\SDK\Appium\Appium;

七,使用SDK自带工具定位。


八,appium工具定位。




九:


xpath定位:

支持:Android 和 iOS。但由于 iOS 10开始使用的 XCUITest 框架原声不支持,定位速度很慢,所以官方现在不推荐大家使用,也有其他替代的定位方式可使用。

使用绝对路径定位,如截图所显示的 xpath 路径

MobileBy.xpath("className/className/className/className")

使用相对路径定位

MobileBy.xpath("//className")

通过元素的索引定位

MobileBy.xpath("//className[index]")

通过元素的属性定位

一种属性:MobileBy.xpath("//className[@label='更多信息']")

两种属性:MobileBy.xpath("//className[@label='更多信息'][@isVisible='1']")

部分属性(最强大):MobileBy.xpath("//className[contains(@label,'更多')]")

你可能感兴趣的:(Appium+python APP自动化:)