实习工作总结
一、host文件
https://blog.csdn.net/xifeijian/article/details/15660185
用记事本打开hosts文件,首先看见了微软对这个文件的说明。这个文件是根据TCP/IPforWindows的标准来工作的,它的作用是包含IP地址和Host name(主机名)的映射关系,是一个映射IP地址和Hostname(主机名)的规定,规定要求每段只能包括一个映射关系,IP地址要放在每段的最前面,空格后再写上映射的Host name(主机名)。对于这段的映射说明用“#”分割后用文字说明。
l 修改host文件后需要更新才能生效,代码如下ipconfig /flushdns
关于测试流程
二、macaca 环境配置
1.环境配置成功图
关于命令行
2.开启macaca服务
macaca server --verbose 【加--verbose,打印详细日志】
python tests/macaca-desktop-sample.test.py 【运行测试】
3.Adb
adb devices #87acce0f
app-inspector -u 87acce0f
App Inspector是浏览器端的移动设备 UI 查看器,使用树状态结构查看 UI 布局 <u>https://jingyan.baidu.com/article/48b37f8ddc79bb1a64648884.html</u>
4.npm安装包
npm install包名 --registry=https://registry.npm.taobao.org
5.切换切换淘宝源
npm install -g cnpm --registry=https://registry.npm.taobao.org
由于国内npm较慢,因此设置淘宝镜像cnpm代替npm,通过以下命令进行设置:
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 真机测试app-inspector -u ***
手机连接线问题,换成自己的线就OK了。
- 关于报错app-inspector -u ***
解决方法:https://testerhome.com/topics/15793
使用:http://www.mamicode.com/info-detail-2700355.html
Gradle:自动化构建工具
解决:Gradle和node版本问题
- Pycharm
快捷鍵定位代碼 ctrl+shift+f
多行注释:ctrl+/
pip批量安装moudle:pip install -r package.txt
三、Wifi连接手机进行自动化测试
1、手机用USB线连接到电脑,cmd打开命令行,输入adb devices,查询连接设备的名称。例如:设备名称为80QBCNQ22MQY
2、开启端口(端口不能被占用),输入adb tcpip 5556
3、开启端口后用无线连接(保证设备和PC机在同一个局域网--可以电脑开热点让手机连接上,可以用ping验证是否相通)。打开手机,查看IP地址。例如IP为192.168.137.192
4、通过查询到的手机IP与设置的端口号,输入adb connect 192.168.137.192:5557
5、连接上后就可以拔掉USB线了,查看连接状态,输入adb devices
此时,web端显示android界面需要用命令app-inspector -u 192.168.137.41:5556
如果wifi连接多台设备,可以继续用上面方法无线连接其他的设备。
断开无线连接可执行命令:adb disconnect 192.168.137.192:5557
总之,wifi连接设备成功,就可以进行客户端编写测试脚本跑自动化测试了。
Ps:由于ip地址是随机分配的,所以每次断开重新连接时ip地址会改变。
Ps:如果手机连接线与电脑连接后找不到设备,可能需要开启开发者模式。
如果开启端口时报错,可以使用adb -s 设备id tcpip 端口号 来开启端口号
多机使用多个 Macaca 命令运行即可
在测试macaca的并发,思路是开启两个线程。然后给每个线程上的任务分别设置不同的udid和端口号。 然后看是否能并发执行。 先用命令行开启两个macaca server
- macaca server -p 5556 --verbose
- macaca server -p 5557 --verbose
macaca入门指南:https://testerhome.com/wiki/macaca
win10 环境 Macaca Python 尝试:https://testerhome.com/topics/10056
(这个之前在模拟机上自己跑通了,接下来试试真机上的自家APP)
**1.支持同网段下通过wifi直接运行测试,不用连上usb数据线
**2.支持多手机并发执行测试(满足不同机型的统一脚本兼容性测试)
*3.使用app-Inspector获取界面元素时,xpath-lite与xpath的区别:xpath-lite是模糊定位,当一个页面有两个“//[@name="双色球"]”时,可能就会定位不到。而xpath是精准定位,正常情况下不会出问题
四、并发多端执行UI自动化
UI自动化分web和移动端
需求分析:
android系统碎片化(品牌,设备,版本)
一个 app 需要适配各种机型,各种系统的版本
新功能发布QA需要花大量时间测试设备的兼容性
目标
对部分核心流程进行自动化测试
多机同时运行测试用例(兼容性测试),多机运行不同测试用例,提升单位时间内测试用例的运行速度
UI自动化测试框架
编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具
编程语言:编写测试脚本、日志记录和输出;
单元测试框架:提供测试脚本运行、异常校验等一些列的配置;
扫描编译工具:测试文件扫描编译,一般配合持续集成工具使用效果更佳;
持续集成工具:Jenkins,经典的持续集成工具;
数据库:测试数据管理;
项目管理工具:测试结果统计管理;
移动测试基础 移动端自动化多机并行测试
运行sample-python中的mobile用例,报错no device, now create one from avd表示需要安装android虚拟机
API说明:https://www.jianshu.com/p/75b0dfa58a6d
https://macacajs.github.io/wd.py/api.html
l 具体代码见project2--YKJBaseFunc--test_multithread.py
五、测试用例
我的界面前两级点击进入并截图:project2--testCases--gui_cases--my_info.py
群接龙:project2--testCases--gui_cases--qun_jielong.py
群投票:project2--testCases--gui_cases--qun_toupiao.py
视频录制测试:project2--testCases--gui_cases--video_test.py
多机并行:project2--YKJBaseFunc--test_multithread.py
六、测试工作
- 【内推应用】界面测试、兼容性测试,提了15个bug
(1) 第一次负责很多没有走jira,所以没有汇总太多
(2) 关于兼容性测试,要有一个测试思路,避免太多重复工作
- 【打包专项】撰写测试用例文档、提测演示汇报、整个测试工作(新增项目页面、打包界面、下载应用后移动端测试),提了78个bug
(1) 关于测试用例文档,要除了写正常用例外还需考虑错误用例出现的情况,要明确结果展示
(2) 整个测试过程中,出现问题及时提jira,然后继续走用例测试,不要等开发解决完再继续测这样太浪费时间
(3) 测试时发现不合理的地方及时与开发、产品沟通,可以提出一些比较合理的建议来完善产品
(4) 写了个脚本用来直接填写需要重复输入的文字的上传的照片,见web_pack
【协作套件】移动端、web端测试,提了13个bug
【工作汇报】移动端、web端测试,提了30个bug
【接口测试】fiddler抓包,写了文库和日程的接口并跑通。
关于用例流的创建:使用fiddle抓包,然后导入到iUAPRunner调试接口用例,成功调试后创建用例流然后传到云端,建立相应的功能接口测试场景并启动。在创建日程、删除日程这两项需要进行配置上下文关联,同理创建回复、删除回复也是如此,在删除回复中,除了需要关联创建回复的id还需要关联所回复的日程id。