持续更新系列。。

刚开始学时,一个小小的问题都可能要耗费很多时间,甚至是导致从入门到放弃的直接原因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学习笔记过程中遇到的一些问题汇总相关推荐

  1. 自己学习c++过程中写下的笔记,只做基础了解使用

    01书写helloworld #include <iostream> using namespace std;int main() {cout << "Hello W ...

  2. r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...

  3. 学习编程过程中-->遇到的错误

    文章目录 学习编程过程中-->遇到的错误(吕招焕) 1.java.sql.SQLException: Parameter index out of range (2 > number of ...

  4. appium学习笔记

    appium学习笔记 第1节.2节课appium介绍和安装 开源.跨平台.多语言支持的移动应用自动化工具 测试对象 原生APP 混合APP 移动APP APP运行环境 真实设备 虚拟设备 测试程序语言 ...

  5. 机器深度学习的过程中盛传着7 个误解,我们来一一揭开

    https://www.toutiao.com/a6690402605824213508/ 2019-05-13 14:59:45 哥伦比亚大学计算机科学专业博士生Oscar Chang发博阐述了关於 ...

  6. 在学习EasyX过程中,遇到“没有与参数列表匹配的重载函数loadimage”,修改解决方案字符集属性无效后的解决方法

    在学习EasyX过程中,遇到"没有与参数列表匹配的重载函数loadimage"的问题,在网上查询后,很多人给出的方法是--修改解决方案字符集属性. 解决"E0304&qu ...

  7. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  8. c#学习笔记05-treeview中添加图标

    创建树目录前面在学习笔记03中已经提到过 即树目录数据从XML文档中获取 添加图标主要用到ImageList控件 1.ImageList控件 在树目录对应存在的窗体中添加此控件 添加图标: 2.tre ...

  9. 20190328学习笔记 - JSP 中的 tag 文件

    20190328学习笔记 - JSP 中的 tag 文件 对于tag 文件 1. 引入 tag 文件 2. 在/WEB-INF/tags/sys 下,新增一个gridselect.tag文件 3. 在 ...

最新文章

  1. gbdt 回归 特征重要性 排序_GBDT 理解
  2. xnawindowsph又见“X”Phone ePhone手机V90新鲜评测
  3. jquery与ajax的XMLHttpRequest对象介绍
  4. [BZOJ1260][CQOI2007]涂色paint 区间dp
  5. LeetCode 956. 最高的广告牌(DP)
  6. css居中最佳方案,CSS 水平、垂直居中的5种最佳方案
  7. 灵动标签调用栏目自定义字段
  8. Linux meson + ninja编译安装源码(八)
  9. linux安装jdk1.8之后报错Error: dl failure on line 893的解决办法
  10. ONVIF流媒体播放流程
  11. git 版本控制库的用法及其介绍
  12. vue引入阿里图标库
  13. jdk7与jdk8 如何相互切换
  14. ubuntu中查看IP地址命令
  15. SpringSecurity自定义多Provider时提示No AuthenticationProvider found for问题的解决方案与原理(四)
  16. nodejs 异常的处理
  17. Implementing Infinite Scroll Into a React Component
  18. python绘制各种摆线(包括心形线星形线等,超炫酷)
  19. 项目的成功标准如何衡量?【一杯咖啡谈项目】
  20. Eclipese快捷键

热门文章

  1. 抖音配音都有哪些软件好用?好的配音可以快速热门涨粉丨国仁网络资讯
  2. 使数字签名背景透明化的方法
  3. Open3d(七)——可视化
  4. 输入编码,自动匹配并输出相对应的名称
  5. ajax实现上传头像功能,网络编程Ajax实现注册并选择头像后上传功能
  6. 奥运五环python代码_python图形绘制奥运五环实例讲解
  7. coreldraw凸起字符_CorelDRAW X7创建斜角效果图文教程
  8. iPhone手机数据迁移教程
  9. 深圳自动焊锡机有什么特色?其使用和保养的注意事项有哪些?
  10. 51nod138夹克老爷的逢三抽一