python+appium学习总结
经过了这个月的学习,今天终于完成了公司APP系统的自动化的脚本的编写。
通过单元测试框架UNITTEST,进行脚本的连跑,本来还想把测试数据统一写到EXCEL表格内,实现脚本与数据的分离。
后来发现增加了很多的工作量,这个时间投入的不值得,性价比不高。
因为使用的是APPIUM在模拟器中操作,所以脚本运行速度,远不及selenium运行速度快,同时,维护难度增加,脚本连跑时,因为受到系统影响,
连跑报错率很高,需要多跑几次,才能全部跑通。
最近把时间与精力都投入到APPIUM+python的学习上。发现难度一开始就在环境的搭建上,环境虽然是有固定的操作步骤,
但是要求对APP或CS架构有一定的基础知识,需要了解安卓的SDK,IOS的相关知识。
同时,定位难度也明显高于selenium的谷哥开发者工具,APPIUM我使用的是UIautomator viewer定位工具,用起来非常的不方便,最头疼的不是定位的方法,而是一碰到
页面有动态元素,ui automator viewer就报错。
中途也听说了也可以翻墙用谷哥的开发者工具来定位,自己还没有尝试,不下结论。
后期会尝试一下。
我讨厌我现在用的五笔输入法,真的很烂。测试肯定没有测试到位。
下面说一下,我用python+appium做自动化的时候,主要的实现步骤以及自己的思路。
前提是环境,模拟器等都正常工作了。
首先:先写一段脚本,根据系统的一个子模块,或者其中的一个流程(这个流程是后期整个自动化的一个demo,是一个雏形)
其次:再写第一个demo的时候,基本上可以确定哪些地方可以参数化,(既可以用函数来实现,哪些地方写死。个人理解,自动化,核心是unittest框架,可以组织,执行,判断用例等。其次,最重要的就是参数化了。剩下就是复制脚本,维护脚本了。脚本的范围根据实际需求来)
再次:根据已写好的脚本,完成剩下的自动化脚本的编写,其中不断完善,提高,维护,直到满意,合格为止。(看样子要求真低)
我操作的时候,每次写好一个完整的脚本,都会测试跑一遍,就是这样反复多次,不断调试,不断优化,最终合格为止。
总结:
1,根据需求,确定自动化的范围。
2,根据范围编写脚本,确定参数化对象。
3,通过unittest单元测试框架,组织,执行,判断用例。
4,得出报告,发现问题。
5,持续集成,(此步骤在公司没有操作,只有我一个自动化测试,另外开发用的是JAVA语言,我用的是python语言)
另外,appium没有把数据与脚本进行分离,主要考虑性价比不高,脚本没有pc端开发的脚本稳定,为了减少错误,就没有操作这一步。(这一步有好处与不好的地方,具体自己权衡。)
python+appium学习总结的更多相关文章
- Python+Appium学习之启动手机APP或者浏览器
一.启动浏览器:pycharm中python脚本如下: from appium import webdriver desired_caps ={ 'platformName':'Android', ' ...
- Python+Appium学习篇之WebView处理
1.认识WebView 实例说明: 当你打开百度阅读APP→VIP全站去广告→用自带的 UI Automator去定位里面的元素,如图: 不管你去定位 '规则详情' '开通'等等,都会定位不到,只 ...
- python+appium学习之swipe
#coding:utf-8 from appium import webdriver from time import sleep import random desired_caps={ " ...
- Appium学习实践(二)Python简单脚本以及元素的属性设置
1.简单的Python脚本 Appium中的设置与Appium学习实践(一)简易运行Appium中的一致 Launch后,执行脚本 #coding:utf-8 import unittest impo ...
- Appium学习实践(三)测试用例脚本以及测试报告输出
之前Appium学习实践(二)Python简单脚本以及元素的属性设置中的脚本,会有一个问题,就是在每个测试用例完成之后都会执行tearDown,然后重新setUp,这样导致脚本的执行效率偏低,而且会有 ...
- Python appium搭建app自动化测试环境
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 60分钟Python快速学习(给发哥一个交代)
60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...
- python爬虫学习(1) —— 从urllib说起
0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...
随机推荐
- python中socket理论
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单 ...
- Ubuntu安装 docker
安装docker首先要需要一台宿主机, 我目前用VMvare下安装的Ubuntu16.04系统为宿主机,进行docker安装测试. ubuntu安装时选的中文环境,生成的sources.list里面的 ...
- SPRING CLOUD微服务DEMO-下篇
目录 1 Hystix 1.1 简介 1.2 配置并测试 2. Feign 2.1 简介 2.2 使用Feign 2.3 负载均衡 2.4 Hystrix支持 2.5.请求压缩 3. Zuul网关 3 ...
- Centos 7.3 配置Xmanager XDMCP
我们通常需要远程桌面,这会带来很好的便利性,而Centos7的XDMCP配置过程发生了变化,添加了很多新特性,初期难免会不适应,但新系统终究还是不错的.下面看看Centos7下如何配置XManager ...
- 使用 nm-applet 连接 WPA2-Enterprise wireless
安装之后,使用 nm-connetion-editor 编辑连接信息: 之使 systemctl retart NetworkManager: 之后使用 nmcli conn up $CONNECT_ ...
- VLAN基础配置及Access接口 实验1
1.Access接口 是交换机上与PC机上相连的端口 2.当主机向交换机发送数据帧时,经过的Access口会将该帧加一个与自己PVID一致的VLAN标签 当交换机的Access口要发送给PC机一个带有 ...
- 记录Liunx 命令常用的
df -h 查询硬盘容量(GB方式)
- Linux中zip压缩和解压缩命令
主要参数 -c:将解压缩的结果-l:显示压缩文件内所包含的文件-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换-t:检查压缩文件是否正确-u:与-f参数类似,但是除了更新现有的 ...
- PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹
PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹 一.使用递归获取树形菜单 数据表category(id,name,parent_id) <?php class category{ / ...
- 爬虫-ajax请求遇到Unicode编码问题
2018-08--4爬取金色财经网页 网址:https://www.jinse.com/search/EOS 第一步:我观察了网页:发现了网页是一个发送ajax请求的网页,发现如下: 然后 我就先爬取 ...