Appium安装使用总结

开发环境搭建

  1. 搭建java JDK与Android SDK环境
  2. 下载安装nodejs
  3. 下载安装Appium

问题答疑

在测试中adb devices查询无缘无故多出陌生的虚拟设备

  1. 同事的经验是重启电脑,莫名其妙的设备消失;
  2. 自我总结就是重启adb服务,adb kill-serveradb start-server,也果真有效;
  3. 关键问题是为何莫名其妙的多出个这样子的设备呢???疑惑》》》

一台电脑跑多个测试用例的问题:Error getting device property persist.sys.language: -> more than one device and emulator

一个测试用对应一个Appium服务器,一个Appium服务器对应一个 Android设备。

  1. 启动多个Appium服务端,appium监听不同的端口,启动appium使用–port指定监听的端口
  2. 每个appium服务操作不同的设备,可以在启动appium使用–udid指定设备udid,也可以在脚本capabilities字典中指定udid,在android中可以使用adb devices查询,与deviceName参数相同

https://testerhome.com/topics/2880
https://github.com/appium/appium/issues/5396

error: Logcat capture failed: spawn adb.exe ENOENT

  1. 各种回答是android sdk路径包含空格,各种检查,莫有空格啊,哎http://www.tuicool.com/articles/eA7Zni
  2. 灵感来源于此https://testerhome.com/topics/2024,发现将ANDROID_HOME环境变量设置成了ANDROID_SDK_HOME环境变量了,果断解决了问题。

在含有Emoji特殊符号的页面中,爆出Failed to Dump Window Hierarchy
https://github.com/appium/appium/issues/4151
http://blog.csdn.net/soslinken/article/details/50126477
won’t be solved until the new android driver is completed. This is a known bug in uiautomator v1
此问题是uiautomator自身bug,换用Android5.1以上的系统

参考:

  • appium踩过的坑(持续更新…)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python使用笔记总结目录

从2012年接触python,陆陆续续使用python将近3年。从最开始的使用python进行xml解析,到使用python做爬虫开发,再到最近半年的使用深度学习进行图像识别,python简洁易用,丰富的资源库,活跃的社区,…

原始套接字编程(1)

Linux下原始套接字的原理 创建原始套接字: socket(AF_NET, SOCK_RAW, protocol);1. 参数protocol用来致命所接收的协议包,如果是像IPPROTO_TCP(6)这种非0、非255的协议,能接收ip头为protocol域的数据包,包括IP头,协议…

VS 使用技能总结

常用快捷键 复制/剪切/删除整行代码 1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“CtrlC”来完成复制操作,而无需选择整行。 2)如果你想剪切一整行代码,只需将光标移至该行,再使…

vim使用总结

vim使用命令 【自动补全操作】 Ctrl n / Ctrl p 自动补全字符串Ctrl x Ctrl f 自动补全文件名 【多文件操作】 打开多个文件: vim file1 file2 … filen 在同一个窗口中打开所有想要打开的文件vim -o file1 file2 … filen 打开一个编辑会话,水平分…

内核编程之Hello_kernel

前言 通过hello_kernel编程达到以下目的: 内核编程框架了解模块参数调用模块间函数调用内核模块相关关的命令使用 环境准备 内核源码树准备,有两种方法: 方法1:从kernel.org下载内核源码,手动编译 方法2:通过yum安装与系统版本一致的内…

机器学习基本库学习

前言 之前做过将近一年的python爬虫,python语言基础还是有的。眼下机器学习如日中天,项目中有用到机器学习对采集的内容进行分类的功能,闲暇之际学习一下相关的库,以期待money 简介 numpy python科学计算基础库matplotlib Ma…

unixODBC的使用

unixODBC介绍 unixODBC is a complete, free/open, ODBC solution for UNIX/Linux. 官网 http://www.unixodbc.org/源码下载url ftp://ftp.unixodbc.org/pub/unixODBC/ unixODBC版本目前有两套,soname为libodbc.so.1与soname为libodbc.so.2 对于使用libodbc.so.…

Jupyter notebook应用总结

简介 Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作。Notebook 有两种键盘输入模式。即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围&#x…

opencv常用函数

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型BORDER_REFLICATE  # 直接用边界的颜色填充, aaaaaa | abcdefg | ggggBORDER_RE…

【TensorFlow】稀疏矢量

官方Document: https://tensorflow.google.cn/api_guides/python/sparse_ops开发测试环境: Win10Python 3.6.4tensorflow-gpu 1.6.0 SparseTensor与SparseTensorValue的理解 SparseTensor(indices, values, dense_shape) 稀疏矢量的表示 indices shape为[N, ndims]的2-D i…

【Numpy】array操作总结

官方Document: https://www.numpy.org/devdocs/reference/routines.array-manipulation.html开发测试环境 Win10Python 3.6.4NumPy 1.14.2 Basic operations 函数原型作用[copyto](dst, src[, casting, where])Copies values from one array to another, broadcasting as nec…

【TensorFlow】conv2d函数参数解释以及padding理解

卷积conv2d CNN在深度学习中有着举足轻重的地位,主要用于特征提取。在TensorFlow中涉及的函数是tf.nn.conv2d。 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpuTrue, data_format“NHWC”, dilations[1, 1, 1, 1], nameNone) input 代表做卷积的…

卷积与傅立叶变换

一、卷积 1、一维的卷积 连续: 在泛函分析中,卷积是通过两个函数f(x)f(x)和g(x)g(x)生成第三个函数的一种算子,它代表的意义是:两个函数中的一个(我取g(x)g(x),可以任意取)函数,把g(x)g(x)经过翻转平移,…

海明纠错码工作原理

海明纠错码 海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错…

OpenCV-Python bindings是如何生成的(1)

翻译自How OpenCV-Python Bindings Works? 目标 学习 OpenCV-Python bindings是如何生成的如何为Python扩展新的opencv模块 OpenCV-Python bindings是如何生成的 在OpenCV里,所有算法都是用C实现的。但是这些算法可以在别的语言里使用,比如Python&…

OpenCV-Python bindings是如何生成的(2)

OpenCV-Python bindings生成流程 通过上篇文章和opencv python模块中的CMakeLists.txt文件,可以了解到opencv-python bindings生成的整个流程: 生成headers.txt文件 将每个模块的头文件添加到list中,通过一些关键词过滤掉一些不需要扩展的头文件&#x…

【TensorFlow】学习资源汇总以及知识总结

官方资源 官方网站 https://tensorflow.org 非翻墙神器不能访问也(关键是我用了翻墙神器也没能访问)伪官方网站 https://tensorflow.google.cn/ 墙内的人可以查阅的资料github https://github.com/tensorflow/tensorflow官方提供的models以及tutorial h…

机器学习资源锦集

http://www.cnblogs.com/pinard 十年码农,对数学统计学,数据挖掘,机器学习,大数据平台,大数据平台应用开发,大数据可视化感兴趣。github 深度学习 【深度学习】批归一化(Batch Normalization&…

获取训练数据的方式

下载搜狗词库 https://pinyin.sogou.com/dict/ 在官网搜索相关的词库下载,比如地名等,然后使用脚本将此条转换成txt保存, 来源 # -*- coding: utf-8 -*- import os import sys import struct # 主要两部分 # 1.全局拼音表,貌似…

浅谈python MRO与Mixin模式

MRO(Method Resolution Order) In object-oriented programming languages with multiple inheritance, the diamond problem (sometimes referred to as the “deadly diamond of death”) is an ambiguity that arises when two classes B and C inherit from A, and class D…