经过了这个月的学习,今天终于完成了公司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. ASP.NET免费发送邮件|

    因为之前有做过邮件发送的项目,最近也看一些朋友问起这个的做法,现在拿来给大家查看下.因为那时候是公司的服务器配置的.所以后来自己便在网上找到了一个可以任何个人都是可以使用的邮件发送.小弟新手,高手看到 ...

  2. 解决Flutter boost模块化加入到原有android项目后,首次加载过慢的问题

    由于Flutter boost目前还没有很好的解决方案,所以只能魔改了,大致的思路就是在刚打开app的时候就初始化一个不可见的Flutter页面,让其自动注册&初始化. 先编写一个Flutte ...

  3. phpStorm debug

    1.重点注意(重要) 如果是wamp,那么请通过wamp打开php.ini文件,不要自己去找php文件夹下的php.ini,这是两个不同的文件 2.开始配置php.ini zend_extension ...

  4. SSH服务搭建、账号密码登录远程Linux虚拟机、基于密钥的安全验证(Windows_Xshell,Linux)

    问题1:如果是两台虚拟机ping不同且其中一个虚拟机是克隆的另一个,需要更改一下MAC地址,关机状态下 一> "编辑虚拟机设置" 一>" 网络适配器" ...

  5. css怎么解决表格边框线重复问题

    <ul> <li><a href="#">1</a></li> <li><a href="# ...

  6. 添加阿里巴巴图标,让你页面小图标都是CSS3写成

    第一步把你想要的小图标添加到购物车里,然后如图下载 第二步下载完了,如下图有这些文件 第三步,把你需要的必要文件放到文件夹中,然后把需要的代码放到一个CSS中,然后引用 备注,这几个文件就是字体,必须 ...

  7. 在centos上安装nodejs

    之前在百度云上买了个服务器,选择的centos 64位系统. 买完之后一顿折腾,今天就来讲讲怎么安装node和npm,刚开始在Google上找了好多方法,都是费时.费力,最后还是没有安装成功,下面将介 ...

  8. 【笔记目录1】ASP.NET Core分布式项目实战

    当前标签: ASP.NET Core分布式项目实战 共2页: 1 2 下一页  35.Docker安装Mysql挂载Host Volume GASA 2019-06-20 22:02 阅读:51 评论 ...

  9. redux和react-redux

    redux和react-redux的关系: redux是react的状态管理工具,却不仅仅只是为了react而生的,所以在使用中会存在痛点.而react-redux是专门为了react定制,目的是为了 ...

  10. dotNET面试(一)

    1.列举ASP.NET 页面之间传递值的几种方式. 1).使用QueryString, 如....?id=1; response. Redirect().... 2).使用Session变量 3).使 ...