appium自动化测试

一 Appium环境搭建

1.1 Appium客户端安装

  1. 运行appium-desktop-Setup-1.2.7.exe,默认安装即可
  2. 启动客户端,按图片步骤 1 -> 2 -> 3 -> 4 设置

在这里插入图片描述
3. 启动成功展示如下图在这里插入图片描述

1.2 ,Appium命令行安装方式

  1. 安装Node.js ->Win:官网下载可执行包安装(Linux: yum install; Macos: brew install)
  2. 安装完成后 命令行运行npm或node -v 来查看是否安装成功

在这里插入图片描述

在这里插入图片描述
敲黑板: npm国内一般被墙,所以选择淘宝镜像安装,官网:http://npm.taobao.org

  1. 安装cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org

在这里插入图片描述

  1. 安装appium: cnpm install -g appium

在这里插入图片描述

在这里插入图片描述

  • 启动appium服务命令: appium &,如下图即正确安装

    敲黑板: Windows安装会提示os的模块错误,这个需要mac系统支持,不影响windows操作使用

1.3,Appium-python库安装

  • 命令行安装(需要联网)

     pip install Appium-Python-Client 
    

默认版本有时会报错 建议使用 ==1.3.0版本

2,Appium入门使用

2.1 启动appium

在这里插入图片描述
2.2 界面 介绍在这里插入图片描述

2.3 手机启动参数

 desired_caps:负责启动服务端时的参数设置,
 appium server 与手机端建立会话关系时,根据这些参数服务端可以做出相应的处理

desired_caps常用参数:

platformName         平台的名称:iOS, Android, or FirefoxOS
platformVersion      设备系统版本号
deviceName           设备号 IOS:instruments -s devices,Android: adb devices
app                  安装文件路径:/abs/path/to/my.apk or http://myapp.com/app
appActivity          启动的Activity
appPackage           启动的包
unicodeKeyboard      unicode设置(允许中文输入)
resetKeyboard        键盘设置(允许中文输入)

生成对应的键对信息

# server 启动参数
    desired_caps = {}
    desired_caps['platformName'] = 'Android' 
    desired_caps['platformVersion'] = '5.1'
    desired_caps['deviceName'] = '192.168.56.101:5555'
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True

设置连接手机参数界面
在这里插入图片描述
将设置好的这调皮数据进行命名
在这里插入图片描述

点击对应的数据进行启动
在这里插入图片描述

连接后界面介绍
在这里插入图片描述

2.4 代码实现 案例

#导入对对应的包
from appium import webdriver
# appium填写的数据内容
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "e036cefb9"
caps["appPackage"] = "com.taobao"
caps["appActivity"] = "com.taobao.tao.TBMainActivity"
# 只有声明驱动对象我们才可以让手机完成脚本的操作,声明的方法如下:
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
#手机隐形显示
driver.implicitly_wait(30)
# 通过appium点击图片获取的xpath地址
exttext=driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.wirdget.FrameLayout/android.wridget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout[3]/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout')
exttext.click()
iputtext=driver.find_element_by_id("com.taobao.taobao:id/searchEdit")
iputtext.send_keys("手机")
sou=driver.find_element_by_id("com.taobao.taobao:id/searchbtn")
sou.click()

shouji=driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.View[19]")
shouji.click()
quedshij=driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.view.View[1]")
quedshij.click()

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值