admin管理员组文章数量:1604453
appium环境安装包百度网盘地址
链接:https://pan.baidu/s/1pvNb5AzYVzIq5tWjoJJhLg
提取码:ghaj
文章目录
- monkey、monkeyRuner、Appium、UIAutomator、对比
-
-
- 附录:快捷键
-
- 在线数据生成datagenerator
- cmd命令
- adb命令
-
- 查看端口号占用
-
- Linux
- window
- web日志
- andriod日志
- Log信息级别
- appium脚本生成步骤
-
- 模板脚本
- uiautomotor辅助定位
- Monkey
-
- 陌匠测试步骤:
- Monkeyrunner
-
- **运行方式**
- **示例脚本**
- MonkeyDevice 方法
- waitForConnection()
- MonkeyIamge
- 一、ADB调试桥作用
-
- ADB子命令参考
-
-
- 查看日志
- 向模拟器传送.apk文件并安装
- 根据包名卸载APP
-
- 查看包名和主活动
- 1.有apk
-
- a, aapt dump badging 路径
- b, 文件夹内找
- 2.无apk
-
- 单开设备
-
- a.查看log,Displayed
- b.命令行
- linux命令
- window10
- 或者
- 或者(不推荐)
- 或者(无效)
- 多开设备
- 仅获取包名 Monkey
- 二、Monkey和MonkeyRunner
-
- Android自动化测试三种模式
-
- 1.基于随机事件
- 2.基于坐标点
- 3.基于控件
- 三、Monkeyrunner3大组件API:
-
- **首先导入工具包**
- 1)MonkeyRunner 工具类,提供工具方法
- 2)MonkeyDevice 表示某设备对象
- 3)MonkeyImage
-
- Appium安装总体步骤 :
-
-
- 一、JDK安装并设置
- 二、SDK安装设置
-
-
- SDK重要目录
- 必装:Tools=>Options
- 配置环境变量
-
- 三、安装ui测试工具
-
- AppiumDesktop
-
- 启动Inspector
- 真机报错解决
- UiAutomatorViewer
-
- UI测试工具概述
- 操作步骤
- 1.确认安装有adb
- 2.下载安装模拟器
- 3.uiautomatorviewer.bat
- 常见问题解决
-
- adb连接夜神模拟器
- adb server version (31) doesn't match this client (36)
- 华为打开USB调试
- adb找不到真机
- 无法获取真机截图
- 四、安装Appium-Python-Client
- 五、Pycharm配置
-
- 测试模板代码
- Original error: Could not find 'adb.exe' in PATH.
- You are using pip version 9.0.1, however version 18.0 is available.
- Could not find a version that satisfies the requirement openpyxl (from versions: )
-
- 附录:Genymotion模拟器
-
-
- 安装Genymotion模拟器 (实测无效)
-
- VirtualBox问题总结
-
-
- 1.Virtualbox启动报cannot access the kernel driver
- 2.安装VirtualBox回滚
- 3.Your PC/Device needs to be repaired
-
- Genymotion问题总结
-
-
- 1.在线下载虚拟设备失败
- 2.aapt: command not found
-
-
monkey、monkeyRuner、Appium、UIAutomator、对比
Monkey (压力测试)
这个是Android提供的系统工具。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
测试的对象仅为应用程序包,有一定的局限性。
Monky测试使用的事件流数据流是随机的,不能进行自定义。
可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
monkeyRuner (功能测试,用户接受度测试,黑盒测试),提供按键或触摸事件的输入数值,通过截屏对比是否是正常的运行。
UIAutomator - 官方 (黑盒测试,功能测试) ,可以测试需要在不同app之间切换的情况。找到UI控件然后进行操作。 UiAutomator对外提供了UiAutomatorTestCase、 UiDevice、UiSelector、UiObject、UiCollection、 UiScrollable等重要的类
Appium是基于UIAutomator框架实现的一个开源、跨平台的测试框架。Appium测试 (功能测试,用户接受度测试,黑盒测试),findElements**(**)方法获取到UI元素,获取信息为主。没有uiautomator的执行速度快。
附录:快捷键
在线数据生成datagenerator
需要全英文状态下操作
https://www.onlinedatagenerator/
cmd命令
转到指定盘:D:
回退到根目录:cd\
adb命令
结束adb命令 :ctrl +C
退出adb shell:exit
退出monkeyrunner:ctrl+D
查看端口号占用
Linux
su
netstat -anlp | grep “631”
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 6184/cupsd
-a列出所有端口;-n使用数字,代替主机、端口和用户名显示;-l只显示监听端口;-p显示 PID 和进程名称;kill -9 6184 杀死进程
window
netstat -ano | findstr “4723”
TCP 0.0.0.0:4723 0.0.0.0:0 LISTENING 11128
监听到pid 11128–ctrl+alt+delete任务管理器–详细信息,找到PID11128,右键结束任务,可以关闭已占用端口号
web日志
1.作用:取代print()方法,并且可以在日志文件中回溯。
2.日志类需要配置或者注意:
2.1.项目路径和日志文件路径
这里我配置了项目的路径base_url,并且准备新建一个log文件夹,用来放置log日志文件。
为了不用再手动去创建log文件夹和log日志文件,这里我进行了判断文件夹和日志文件是否存在,如果不存在则创建日志文件夹和文件。
2.2默认level值默认入参中有默认:clevel、Flevel,如果有等级需要可以进行更改
clevel:cmd输出日志界面的日志等级
Flevel:日志文件的日志等级
在创建logger时,也对总的日志等级设置,这里我设置为了debug最低等级。
3.log类代码
# -*-coding:utf-8 -*-
import os
import logging
# 定义了blog_ui项目的绝对路径
base_url = "E:/111test/blog_ui/"
class Logger:
def __init__(self, path=base_url + "/log/autotest.log", clevel=logging.DEBUG, Flevel=logging.INFO):
# 判断log文件夹是否存在,不存在的话创建文件夹以及日志文件
project_dir = os.listdir(base_url)
dir_name = 'log' # log文件夹
if dir_name not in project_dir:
create_path = base_url + '/' + dir_name
os.makedirs(create_path)
file = open(create_path + '/autotest.log', 'w', encoding='gb18030')
file.close()
# 创建logger
self.logger = logging.getLogger(path)
self.logger.setLevel(logging.DEBUG)
# 防止创建多个logger对象
if not self.logger.handlers:
# 设置日志格式
fmt = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S')
# 设置CMD日志
sh = logging.StreamHandler()
sh.setFormatter(fmt)
sh.setLevel(clevel)
# 设置文件日志
fh = logging.FileHandler(path)
fh.setFormatter(fmt)
fh.setLevel(Flevel)
self.logger.addHandler(sh)
self.logger.addHandler(fh)
def debug(self, message):
self.logger.debug(message)
def info(self, message):
self.logger.info(message)
def war(self, message):
self.logger.warn(message)
def error(self, message):
self.logger.error(message)
def cri(self, message):
self.logger.critical(message)
4.日志类的调用 demo.py
# 导入自定义的log类
from common.log import Logger
# 实例化一个log对象
test_log = Logger()
# 调用log类的方法:
test_log.war("警告信息")
test_log.info("普通信息")
test_log.debug("详细信息")
test_log.error("错误信息")
test_log.cri("严重错误")
接下来加入日志后,就需要将之前的print方法逐个替换为log方法,并且在关键位置,例如:网址、元素定位地址、输入值、断言结果等信息,使用log日志来打印。
andriod日志
1.清理之前的日志缓存,从当前开始显示
adb logcat -c && adb logcat
2.日志加时间
adb logcat time //显示日期,调用时间,优先级/标记,PID
3.logcat命令
adb logcat //显示全部日志
adb logcat > D:\test.log //将日志保存到文件test.log
adb logcat 标记1:I 标记2:D *:S //根据tag标记和级别过滤日志输出
adb logcat *:W //显示所有优先级大于等于“warning”的日志
adb logcat -s 标记1 //显示标记1的日志信息
grep匹配
adb logcat | grep “^E.MyApp”
adb logcat | grep “…MyApp|…MyActivity”
adb logcat | grep -E “…MyApp|…MyActivity” #使用 egrep 无须转义符
Log信息级别
V — 明细 verbose(最低优先级)
D — 调试 debug
I — 信息 info
W — 警告 warn
E — 错误 error
F — 严重错误 fatal
S — 无记载 silent
从上而下级别逐次增加
appium脚本生成步骤
第一步:打开app
第二步:cmd命令行输入,获取包名和主活动,设备端口号
adb shell dumpsys window | findstr mCurrentFocus
mCurrentFocus=Window{3bc2728b u0 com.example.tarena.myappdemo2/com.example.tarena.myappdemo2.MainActivity2}adb devices
List of devices attached
127.0.0.1:62001 device
第三步:
1.右键–以管理员
版权声明:本文标题:手机测试相关 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728460398a1158933.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论