appium学习笔记过程中遇到的一些问题汇总
持续更新系列。。
刚开始学时,一个小小的问题都可能要耗费很多时间,甚至是导致从入门到放弃的直接原因hhhhh 。所以写下此篇总结或许会帮到刚开始学习的你!~
1.运行adb device报错,解决办法
- 参考资料-使用adb命令连接模拟器,在5037端口未被占用情况下仍报端口错误_细数落叶的专栏-CSDN博客
将本机C:\WINDOWS\System32下的adb.exe文件复制到C:\Windows\SysWOW64下。
将本机C:\WINDOWS\System32下的AdbWinApi.dll文件复制到C:\Windows\SysWOW64下
2.提示 * daemon not running. starting it now on port 5037 *,解决办法
先查找5037是否被占用netstat -aon|findstr "5037"
关闭QQ音乐后,端口被释放
3.运行脚本时报错
下载了Android 6.0 sdk后解决该问题
4.使用Appium Inspector时一直无法启动appAppium+python自动化5-Appium Inspector - 上海-悠悠 - 博客园
点击启动按钮-放大镜按钮后,需要点击“refesh“后才会启动app
5.在脚本中增加swipe(800,800,400,800)后,执行脚本报错:selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command.
通过appium+python自动化24-滑动方法封装(swipe) - 上海-悠悠 - 博客园这个方法实现滑动后再执行脚本就没有报错了。。
def swipeUp(driver, t=500, n=1):'''向上滑动屏幕'''l = driver.get_window_size()x1 = l['width'] * 0.5 # x坐标y1 = l['height'] * 0.75 # 起始y坐标y2 = l['height'] * 0.20 # 终点y坐标for i in range(n):driver.swipe(x1, y1, x1, y2, t)def swipeDown(driver, t=500, n=1):'''向下滑动屏幕'''l = driver.get_window_size()x1 = l['width'] * 0.5 # x坐标y1 = l['height'] * 0.25 # 起始y坐标y2 = l['height'] * 0.75 # 终点y坐标for i in range(n):driver.swipe(x1, y1, x1, y2,t)def swipLeft(driver, t=500, n=1):'''向左滑动屏幕'''l = driver.get_window_size()x1 = l['width'] * 0.75y1 = l['height'] * 0.5x2 = l['width'] * 0.25for i in range(n):driver.swipe(x1, y1, x2, y1, t)def swipRight(driver, t=500, n=1):'''向右滑动屏幕'''l = driver.get_window_size()x1 = l['width'] * 0.25y1 = l['height'] * 0.5x2 = l['width'] * 0.75for i in range(n):driver.swipe(x1, y1, x2, y1, t)
6.如何获取屏幕大小
如下
# 获取屏幕的size size = driver.get_window_size() print(size) # 屏幕宽度width print(size['width']) # 屏幕高度width print(size['height'])
7.执行登陆脚本后,app黑屏闪退
使用调试版本的包即可正常登陆
ps.一个小小的引申:原则上应该要用debug的包,但native的操作,应该无所谓的,只有H5的才需要打开debug模式
8.打开本地文件os.system("F:\uploadFile.exe")报错:OSError: [Errno 22] Invalid argument:..........
转义的问题,换成如下输入方式解决问题
os.system("F:\\uploadFile.exe")
9.书写“from uiautomator import Device”出叹号提示
执行“ pip install uiautomator”解决
10.脚本执行不报错,但一直出警告信息“ResourceWarning: unclosed <socket.socket fd=144, family=AddressFamily.AF_INE”
书写以下代码解决
warnings.simplefilter("ignore", ResourceWarning)
11.打印的日志中文字符显示乱码
将file_handler = logging.FileHandler(log_name)代码改成如下解决
file_handler = logging.FileHandler(log_name,encoding='utf-8')
12.当elementid一样,text不一样时该怎么定位
用以下语句实现根据text来定位:find_element_by_android_uiautomator('new UiSelector().text(\"13795291583的空间\")')
Appium+Python 自动化-appium常用元素定位方法 - ForcePush - 博客园
driver.find_element_by_android_uiautomator('new UiSelector().text("Custom View")').click() #textdriver.find_element_by_android_uiautomator('new UiSelector().textContains("View")').click() #textContainsdriver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("Custom")').click() #textStartsWithdriver.find_element_by_android_uiautomator('new UiSelector().textMatches("^Custom.*")').click() #textMatches
13.使用逍遥模拟器,执行脚本时报找不到
- 由于本机的adb版本和逍遥模拟器中的adb版本不一样导致的解决办法是将C:\Windows\System32中的adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll复制到逍遥模拟器的安装目录中,然后删除原来的nox_adb.exe文件,将复制过来的adb.exe重命名为nox_adb.exe
appium学习笔记过程中遇到的一些问题汇总相关推荐
- 自己学习c++过程中写下的笔记,只做基础了解使用
01书写helloworld #include <iostream> using namespace std;int main() {cout << "Hello W ...
- r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数
在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...
- 学习编程过程中-->遇到的错误
文章目录 学习编程过程中-->遇到的错误(吕招焕) 1.java.sql.SQLException: Parameter index out of range (2 > number of ...
- appium学习笔记
appium学习笔记 第1节.2节课appium介绍和安装 开源.跨平台.多语言支持的移动应用自动化工具 测试对象 原生APP 混合APP 移动APP APP运行环境 真实设备 虚拟设备 测试程序语言 ...
- 机器深度学习的过程中盛传着7 个误解,我们来一一揭开
https://www.toutiao.com/a6690402605824213508/ 2019-05-13 14:59:45 哥伦比亚大学计算机科学专业博士生Oscar Chang发博阐述了关於 ...
- 在学习EasyX过程中,遇到“没有与参数列表匹配的重载函数loadimage”,修改解决方案字符集属性无效后的解决方法
在学习EasyX过程中,遇到"没有与参数列表匹配的重载函数loadimage"的问题,在网上查询后,很多人给出的方法是--修改解决方案字符集属性. 解决"E0304&qu ...
- 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)
利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录) 作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...
- c#学习笔记05-treeview中添加图标
创建树目录前面在学习笔记03中已经提到过 即树目录数据从XML文档中获取 添加图标主要用到ImageList控件 1.ImageList控件 在树目录对应存在的窗体中添加此控件 添加图标: 2.tre ...
- 20190328学习笔记 - JSP 中的 tag 文件
20190328学习笔记 - JSP 中的 tag 文件 对于tag 文件 1. 引入 tag 文件 2. 在/WEB-INF/tags/sys 下,新增一个gridselect.tag文件 3. 在 ...
最新文章
- gbdt 回归 特征重要性 排序_GBDT 理解
- xnawindowsph又见“X”Phone ePhone手机V90新鲜评测
- jquery与ajax的XMLHttpRequest对象介绍
- [BZOJ1260][CQOI2007]涂色paint 区间dp
- LeetCode 956. 最高的广告牌(DP)
- css居中最佳方案,CSS 水平、垂直居中的5种最佳方案
- 灵动标签调用栏目自定义字段
- Linux meson + ninja编译安装源码(八)
- linux安装jdk1.8之后报错Error: dl failure on line 893的解决办法
- ONVIF流媒体播放流程
- git 版本控制库的用法及其介绍
- vue引入阿里图标库
- jdk7与jdk8 如何相互切换
- ubuntu中查看IP地址命令
- SpringSecurity自定义多Provider时提示No AuthenticationProvider found for问题的解决方案与原理(四)
- nodejs 异常的处理
- Implementing Infinite Scroll Into a React Component
- python绘制各种摆线(包括心形线星形线等,超炫酷)
- 项目的成功标准如何衡量?【一杯咖啡谈项目】
- Eclipese快捷键