自动化测试学习笔记(1)

项目中自动化打包完成之后,开始自动化测试

一、Python3 + Appium相关文章

1、Python3 入门教程

 https://www.runoob.com/python3/python3-tutorial.html

 2、Python3 + Appium + 安卓模拟器 实现APP自动化测试,并生成测试报告

实际操作过程中还是有很多坑的,需要慢慢查资料。主要是依赖包版本问题,有的需要自己去官网下载 https://pypi.org/

3、  常用api     Appium Python API 中文版

https://blog.csdn.net/qq_17249717/article/details/82589454

文章中有77条常用的 Appium Python方法

4、Android自动化测试工具 UiAutomator使用详解 

https://www.jianshu.com/p/5b84dd220a92

二、如何使用appium desktop 获取Android APP 控件的id

https://blog.csdn.net/wanglin_lin/article/details/78400874

三、LuckyFrame

下载地址:

http://www.luckyframe.cn/

注意,如果要下载工程代码,注意下载发布版,不要下载最新版

使用手册

http://www.luckyframe.cn/book/yhsc/syschyy-24.html

使用手册写的一般,有遗漏的,也有截图截错的,但是最终还是可以搞定的。

遇到的问题

1、findElement的相关方法执行失败

selenium 版本问题, selenium  和appium 版本冲突,是 findElement的相关方法执行失败,将 selenium 和appium 都升级到最新就行了

注意,在luckframe项目pom.xml文件中中只引用了两个selenium 包,但是如果只改这两个的版本号,项目还是会报错,检查发现本地依赖包库中还有其他的selenium相关的引用,如果只改了两个版本号,会造成兼容错误,修改方法,删除本地全部引用,将所有的selenium引用都写在pom.xml文件中,使用最新版本,

2、基于luckframe项目使用python 方法,发现无法引用appium 对象,如果在python文件中定义appium对象会出现重复启动问题,而且python方法返回值支持字符串,最终反放弃了appium+python ,使用java+appium ,并且在luckframe的工程中添加自定义模块,定制需要的测试方法

四、Appuim+Java

因为 luckframe 对 Python3 比较弱,最终还是使用java开发的。

1、Appuim+Maven+Java+TestNG+Jenkins自动化集成部署

https://blog.csdn.net/daffordil/article/details/89419561

2、Appium+java实现自动化测试第一个demo

https://blog.csdn.net/qxq1227_/article/details/76546423

3、appium+java api

官方地址 :http://appium.github.io/java-client/

常用方法:https://blog.csdn.net/niubitianping/article/details/52528146

api讲解:https://blog.csdn.net/mmk1992/article/details/56016528

五、使用ocr识别图片验证码

tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解

遇到的问题

1、ocr图片识别报错

Error opening data file Tesseract-OCR\tessdata/eng.traineddata

这篇文章有解决方法 https://blog.csdn.net/u013401853/article/details/78998206

在实际操作过程中发现,配置全局变量不起作用,需要使用方法二,但是方法二中的文件路径配置有问题,不能使用“\\”做文件路径分割,需要使用“/”,原因,可以看到报错找不到文件的提示中 最后是使用的“/”,而前面的是“\”,系统ocr默认使用的是“/”,所以要统一写法

2、识别toast 失败

识别吐司方法如下

   WebDriverWait wait = new WebDriverWait(driver,5);
        WebElement target =     wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[contains(@text,'弹出吐司')]")));
        System.out.println(">>>>"+target.getText());

但是前提是 需要配置   automationName=“uiautomator2”

java代码中配置如下图

实际情况中,如果 配置之后会报错,Could not sign with default certificate.

Original error: Could not sign with default certificate. 
Original error Command ''E:\Program Files (x86)\Java\jdk1.8.0_45\bin\java.exe' -jar '
C:\Program Files (x86)\Appium\resources\app\node_modules\appium-adb\jars\sign.jar' '
C:\Program Files (x86)\Appium\resources\app\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk
' --override' exited with code 1

指,appium安装目录下 有两个.apk文件启动有问题。

但是在本地安装目录下找到了对应的两个apk。

通过管理员权限重新运行appium就好了。。。。。。。。。。(而且重启关闭后用普通身份运行appium也不报错了)

https://blog.csdn.net/weixin_41639638/article/details/85053055

发布了107 篇原创文章 · 获赞 178 · 访问量 87万+

猜你喜欢

转载自blog.csdn.net/bihansheng2010/article/details/95308379