zoukankan      html  css  js  c++  java
  • 【移动自动化】【二】Appium

    实施自动化需要的工具

    adb

    1. Android控制工具,获取获取Android各种数据和控制,Appium会调起adb命令去执行Android设备
    2. adb命令参考 https://www.cnblogs.com/totoro-cat/p/9969445.html

    Appium Desktop

    1. 内嵌了Appium Server和Inspector工具,可以帮我分析app
    2. 下载地址,建议版本不要太高,其实每个版本相差不是特别大

    Appium Server

    1. Appium的核心工具

    Appium Clients

    1. 各种语言的封装库,用于连接appium server

    Appium Desktop

    安装

    从官网下载桌面版本直接安装即可https://github.com/appium/appium-desktop/tags

    主要功能

    • UI 分析
    • 录制用例
    • 元素查找测试
    • Attach 已有的 session
    • 云测试

    操作步骤

    1. appium默认端口4327
    2. 在启动appium前,先点击edit configuration, 看你的java环境android_home环境是否配置,如果配置好,则appium会自动识别(怎么配置可以看上一篇,也可以自己百度,网上很多)
    3. 点击start server
    4. 打开appium server, 我们可以看到当前环境占用4723端口,点击inspection分析
    5. 在Desired Capabilities输入一下的信息,这些都是必填项的(我这边模拟器已经提前安装了app, 你也可以添加app参数,指定app地址)参数参考地址https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
      platformName: 需要测试的设备android or ios
      deviceName: 这个可以随意命名
      appPackage:app包名
      appActivity:app启动activity
    6. 点击start session

    Appium server安装

    1. 安装nodejs,LTS版本,版本不能太高,我电脑安装了v12.18.3
    root@iZuf6aygpm6zxxzuh3am6vZ:~# node -v
    v12.18.3
    
    1. 安装Appium,因为特殊原因可能装不上,所以要换淘宝镜像
    root@iZuf6aygpm6zxxzuh3am6vZ:~# npm install -g cnpm --registry=https://registry.npm.taobao.org
    root@iZuf6aygpm6zxxzuh3am6vZ:~# cnpm install -g appium@1.14.0
    root@iZuf6aygpm6zxxzuh3am6vZ:~# appium -v
    1.14.0
    
    1. 需要python2环境,安装python2
    root@iZuf6aygpm6zxxzuh3am6vZ:~# python
    Python 2.7.12 (default, Jul 21 2020, 15:19:50) 
    [GCC 5.4.0 20160609] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    

    4.安装appium-doctor设置adb java android路径, 都出现绿色说明都配置好了,直接输入appium就启动服务了,

    root@iZuf6aygpm6zxxzuh3am6vZ:~# npm install -g appium-doctor@1.14.0
    

    简单的测试脚本

    1. chi/demo_1.py 前提安装依赖pip install Appium-Python-Client
    from appium import webdriver
    
    caps = {}
    
    caps["platformName"] = "android"
    caps["deviceName"] = "emulator-5554"
    caps["appPackage"] = "com.shoumi.shoumi"
    caps["appActivity"] = ".activity.startActivity"
    caps["autoGrantPermissions"] = True
    
    
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
    
    driver.implicitly_wait(1000)
    
    driver.quit()
    
  • 相关阅读:
    Oracle课堂实验一“表的使用”代码。
    Oracle安装时忘记解锁scott用户的解决方案
    PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
    Fckeditor漏洞利用总结
    js 倒计时 button不可用
    .net 下载图片
    截取字符串
    js 后台弹窗
    账号注册,密码安全级别提示(弱、中、强)代码
    jquery 评论等级(很差,差,一般,好,很好)代码
  • 原文地址:https://www.cnblogs.com/totoro-cat/p/13444939.html
Copyright © 2011-2022 走看看