这些都不是重点---一切都可以参考虫师  

Appium移动自动化测试(一)--安装Appium

1.ADB的安装:ADB(ANDROID DEBUG BRIDGE)

应用场景:

针对移动端 Android 的测试, adb 命令是很重要的一个点,常用的 adb 命令, 将会为 Android 测试带来很大的方便,其
中很多命令将会用于自动化测试的脚本当中
环境搭建:
解压:platform-tools_r28.0.0-windows.zip(adb)和sdk-tools-windows-4333796.zip (tools-UIAutomator)将解压后的路径放置path环境变量
命令⾏输⼊:
adb devices:查看已连接的设备 adb shell wm size
adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
adb shell pm list package:列出所有的应用的包名
-s:列出系统应用
-3:列出第三方应用
-f:列出应用包名及其安装来源
打开应用查看包名和activity名称:adb shell dumpsys activity top | head -n 10     mac使用命令

2.移动端自动化测试:APPIUM

环境搭建:
1.安装node.js node-v6..zip 将解压后的件添加至path环境变量
2.安装appium。 将 C:\Program Files (x86)\Appium\node_modules\.bin添加环境变量
或者 :npm install -g appium    
淘宝源镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org    #Windows
3.配置JAVA_HOME :就是JDK路径
ANDROID_HOME:安卓sdk路径
输入:appium-doctor
All Checks were successful ,说明环境成功

DESIRED CAPABILITIES
Desired Capabilities在启动session的时候是必须提供的。
本质上是key value的对象,它告诉appium server这样一些事情:
1. ▪ 本次测试是启动浏览器还是启动移动设备?
2. ▪ 是启动andorid还是启动ios?
3. ▪ 启动android时,app的package是什么?
4. ▪ 启动android时,app的activity是什么?

C:\Users\ASUS-PC>adb shell
jason:/ $ dumpsys activity | grep mFocusedActivity  #Windows查看package和activity----当然还有很多其他方法(百度)

1.导入appium:from appium import webdriver
定义一个字典:desired_cap={
'platformName': 'Android',
'deviceName': ‘8BN0218309004925',
'appPackage': 'com.ximalaya.ting.android',
'appActivity': '.host.activity.MainActivity',
'noReset': 'true',    #密码相关,(微信为例)注释掉该段代码,需要输入登录密码,反正不需要登录
'unicodeKeyboard': 'True',
'resetKeyboard': 'True',
}
然后实例化对象:driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_cap)
webdriver.Remote实际上就是原⽣webdriver的子类,第⼀个参数中需要显⽰指定appium server监听的端口

APPIUM定位元素:UIAUTOMATORVIEWER
1. 连接真机或模拟器
2.打开/Users/hejianhao/Library/Android/sdk/tools/bin/uiautomatorviewer
元素定位选择器:
第⼀是ID,
第⼆是class,如果class没有重复
第三是by uiautomator
第四,可能就是xpath  

APPIUM定位元素:UIAUTOMATORVIEWER
1. 连接真机或模拟器
2.打开/Users/hejianhao/Library/Android/sdk/tools/bin/uiautomatorviewer
id:
driver.find_element_by_accessibility_id(‘Animation’)
加个s返回list:driver.find_elements_by_accessibility_id(‘Animation’)
description
:driver.find_element_by_android_uiautomator('new UiSelector().description(“Animation")')
Xpath:
://android.widget.TextView[@text=‘经典必听’]
Tag_name
:driver.find_element_by_tag_name('button')

手机APP测试环境搭建---appium的更多相关文章

  1. 手机APP自动化环境搭建

    1 摘要 近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium.Roboti ...

  2. app测试环境搭建(python)

    app测试环境的搭建大致如下几个: 1.appium安装 appium-server或者使用appium-desktop都可以,前者已经不再更新 下载地址:appium.io 2.Android SD ...

  3. 『与善仁』Appium基础 — 14、Appium测试环境搭建

    目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...

  4. 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...

  5. 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...

  6. JM-1 手机网站开发测试环境搭建

    JM-1 手机网站开发测试环境搭建 一.总结 一句话总结:WEB服务器环境可实现局域网内轻松访问.360wifi可以实现局域网. 二.微网站开发环境: 1.把微网站放到本机wamp环境下,用pc浏览器 ...

  7. 『与善仁』Appium基础 — 1、Android系统的测试环境搭建

    目录 1.Android操作系统简介 (1)Android系统诞生 (2)Android系统的结构 (3)Android测试环境搭建整体思路 2.Java环境安装 (1)JDK8下载 (2)安装JDK ...

  8. 手机APP测试

    注:以下内容来自网络: 一.手机APP测试类型 1.1 接口协议测试 在APP客户端开发设计时,一般服务端会提供相应的接口协议文档,接口协议文档的质量,决定了APP的开发进度.此部分的测试,应首先检测 ...

  9. 手机APP测试——Perfecto

    基于 Perfecto mobile cloud 的移动端自动化测试实践 本文将介绍 Pefecto mobile cloud 在移动端自动化测试的应用. Pefecto 将真实移动设备放到 clou ...

随机推荐

  1. MySQL协议分析(1)

    MySQL协议分析 此阶段的协议分析是在未压缩未加密情况下的协议分析 思路: 结合Oracle官网和自己用wireshark抓的网络数据包进行协议分析 官网说明 mysql包共分为4段,格式如下: 第 ...

  2. 不受路径限制的 HALCON开发环境, 并且初始化两个Picture控件;

    知识储备: http://bbs.csdn.net/topics/391829463    关于 添加第三方库的方式 http://www.ihalcon.com/read-3730.html  VS ...

  3. css选择器中间的空格

    div p div标签下 的p标签 (后代) div .a div 的后代类属性有a的 div.a 类属性有a的div标签 div.a1.a2 多类选择器 类包含a1,a2的div标签 div.a1 ...

  4. 参数或变量中有语法错误。 服务器响应为: mail from address must be same as authorization user

    企业qq发邮件失败,提示: 参数或变量中有语法错误. 服务器响应为: mail from address must be same as authorization user 解决办法: 登录邮箱,设 ...

  5. DevStore分享:月薪3万的程序员都避开了哪些坑

    程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?我特意总结了容易导致薪水低的九 ...

  6. cdoj1587 失恋772002天

    地址:http://acm.uestc.edu.cn/#/problem/show/1587 题目: 失恋772002天 Time Limit: 3000/1000MS (Java/Others)   ...

  7. $聊一聊"驼峰"和"下划线"——Python re.sub函数详细用法实例讲解

    日常写代码时候会遇到一些字符串替换的操作,比如把一大堆"驼峰"形式的字符串批量转换成下划线形式."驼峰"形式的变量命名风格在Java中很常见,而下划线形式的变量 ...

  8. Spring MVC 复习笔记01

    1. springmvc框架 1.1 什么是springmvc spring mvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合.spring mvc是一个 ...

  9. 【c++ primer, 5e】返回类型和return语句

    [无返回值函数] 1.在c++的void函数中,可以显式地使用return;语句来提前结束函数的调用. [有返回值函数] 1.值是如何被返回的:返回一个值的方式和初始化一个变量或者形参的方式完全一样. ...

  10. hadoop cgroup+container配置

    配置container-executor.cfg vim etc/hadoop/container-executor.cfg yarn.nodemanager.linux-container-exec ...