day1初识appium

appium做移动端app自动化的工作原理大概是这样的:

我们写的case脚本,通过appium的webdriver来跟appium server交互,appium server 又通过sdk与device automation(UiAutomator1 or UiAutomator2)来跟 手机上的app来交互的。

移动端自动化架构可以分为四部分:

1.客户端,(安装appium客户端:pip install Appium-Python-Client

2.服务端, appium server,运行脚本前要先启动appium server(安装Appium-windows-1.13.0.exe)

3.测试平台sdk,即androidsdk,主要是androidsdk\platform-tools\adb.exe命令(解压压缩包放到某一路径下,取设置环境变量ANDROID_HOME,然后在path路径追加platform-tools路径,在此之前需要安装jdk1.8,并且设置JAVA_HOME环境变量

4.手机端自动化驱动程序(手机自带的)

 

怎么判断appium的环境搭建好了呢?

1.首先判断手机连接是否成功

adb devices -l

如果设备能够显示出来,则说明,手机连接成功

2.如何查看app的相关信息:

在手机端打开app的前提下,在windows端使用adb shell查找app相关信息

adb shell dumpsys activity recents | findstr intent={

* daemon started successfully
    intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.hpbr.bosszhipin/.module.launcher.WelcomeActivity}

3.创建webdriver:

from appium import webdriver

caps = {
    'platformName': 'Android',
    'plathformVersion': '10',
    'deviceName': 'huaweimoblie',
    # 手机上打开app之后,在电脑端输入下面命令找到app相关参数
    # adb shell dumpsys activity recents | findstr intent={
    'appPackage': 'com.hpbr.bosszhipin',
    'appActivity': '.module.launcher.WelcomeActivity',
    # 确保自动化之后不重置app
    'noReset': True,
    # 设置session的超时时间,单位秒,默认60s
    'newCommandTimeout': 6000,
    #unicodeKeyboard这个选项如果不设置,sendkeys不成功
    'unicodeKeyboard': True,
    # 设置底层驱动, 刚开始设置的是UiAutomator2,初次运行报错,后来改成UiAutomator1了就可以了
    'automationName': 'UiAutomator1'

}

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

 4. 启动appium server后运行脚本,如果返回的http状态码是200,并且脚本没有报任何错误,说明,环境搭建没有问题

接下来就该写具体的case了。

appium的元素定位跟selenium很像但又略微有些区别。后面再细说。

pip install Appium-Python-Client

 

posted @ 2020-09-14 15:46  RoseLv  阅读(134)  评论(0)    收藏  举报