经过了这个月的学习,今天终于完成了公司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学习总结的更多相关文章

  1. Python+Appium学习之启动手机APP或者浏览器

    一.启动浏览器:pycharm中python脚本如下: from appium import webdriver desired_caps ={ 'platformName':'Android', ' ...

  2. Python+Appium学习篇之WebView处理

    1.认识WebView 实例说明: 当你打开百度阅读APP→VIP全站去广告→用自带的 UI Automator去定位里面的元素,如图: 不管你去定位  '规则详情'  '开通'等等,都会定位不到,只 ...

  3. python+appium学习之swipe

    #coding:utf-8 from appium import webdriver from time import sleep import random desired_caps={ " ...

  4. Appium学习实践(二)Python简单脚本以及元素的属性设置

    1.简单的Python脚本 Appium中的设置与Appium学习实践(一)简易运行Appium中的一致 Launch后,执行脚本 #coding:utf-8 import unittest impo ...

  5. Appium学习实践(三)测试用例脚本以及测试报告输出

    之前Appium学习实践(二)Python简单脚本以及元素的属性设置中的脚本,会有一个问题,就是在每个测试用例完成之后都会执行tearDown,然后重新setUp,这样导致脚本的执行效率偏低,而且会有 ...

  6. Python appium搭建app自动化测试环境

    appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...

  7. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  8. 60分钟Python快速学习(给发哥一个交代)

    60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...

  9. python爬虫学习(1) —— 从urllib说起

    0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...

随机推荐

  1. [CSP-S模拟测试]:旅行(数学+线段树)

    题目传送门(内部题12) 输入格式 第一行,一个整数$n$,代表树的点数.第二行,$n$个整数,第$i$个整数是$B_i$,描述排列$B$.接下来$n−1$行,每行两个整数$u,v$,描述一条树边$( ...

  2. 【Jmeter基础】 Linux上运行Jmeter

    Jmeter 是一个强大的并发压测工具,常用于性能测试,压力测试,接口测试等领域.本文将介绍如下内容: 1. Jmeter 执行阶梯式压测 2. Jmeter 如何压测网站的js,css 等资源 3. ...

  3. Linux下MySQL 命令导入导出sql文件

    导出数据库 直接使用命令: mysqldump -u root -p database >database.sql 然后回车输入密码就可以了: mysqldump -u 数据库链接用户名 -p ...

  4. C语言博客作业12

    一.我学到的内容 二.我的收获 * https://www.cnblogs.com/asd123456/ * 我的收获:通过这一个学期的学习,我一共完成了11次作业,由最开始的第一次作业https:/ ...

  5. java反射-学习

    使用Java反射机制可以在运行时期获取Java类的信息,可获取以下相关的内容: Class对象 类名 修饰符 包信息 父类 实现的接口 构造器 方法 变量 注解 简单的反射例子: 1.获取class对 ...

  6. 44.和为S的两个数字

    题目描述:   输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 思路分析:   数组是递增排序的,我们先将数组遍历一遍 ...

  7. 使用腾讯地图请求来源未被授权, 此次请求来源域名/ip:servicewechat.com

    原文:微信小程序使用腾讯地图请求来源未被授权, 此次请求来源域名:servicewechat.com 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明 ...

  8. wireshark 识别http的标准

    使用route add 本机ip 255.255.255.255 网关ip metric 1 的方式 会使访问本机ip的连接发送到局域网内,这样wireshark就可以抓取到 但有一点需要注意 如果本 ...

  9. 用python实现批量获取Linux主机简要信息并保存到Excel中 unstable 1.1

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- #filename get_linux_info.py #获取Linux主机的信息 # titles=[' ...

  10. css字体的样式与分类用法总结

    字体的样式 color 设置文本的颜色(前景色) ,它会应用到元素的所有边框,除非被 border-color 或另外某个边框颜色属性覆盖. <style> .box1 { color: ...