appium自动化测试框架系列之框架搭建_hy1243189485的博客-程序员秘密

技术标签: python  自动化测试  

在将近三年的移动端测试工作生涯的积累和学习过程中,趁着在过年的假期时间得空,决定出一系列appium自动化测试框架的学习经历分享给各位有兴趣的同学们。

    言归正传,首先在正式开始之前让我们先简单介绍一下该框架的搭建的环境:

1.开发系统环境:win10 64位

2.编程语言:python

3.环境搭建:appium1.5.2,java1.7,node.js 6.0,AndroidSDK,python3.6,夜神模拟器Android5.1.1

若有兴趣的同学希望通过该博文学习,需有相关的adb命令使用和python编程以及对appium的相关基础(大神请忽略!!!)

 

好了,让我们实现框架前先对框架的实现功能有个了解吧!

我们需要实现的功能有:

1.业务功能的封装

2.测试用例的封装

3.测试包管理

4.截图处理

5.断言处理

6.日志获取

7.测试报告生成

8.数据驱动

9.数据配置

所以在新建的测试项目下,分别对应建立以下文件夹,对应存放文件

app:进行测试包的管理,放置不同的测试包

baseViews:完成基本的业务逻辑代码的封装,以便详细的业务继承

common:公用代码,完成自动化项目的初始化和一下公用类的封装

business View:业务逻辑代码块

config:存放启动环境配置文件,log配置文件

data:测试的数据文件

log:存放日志文件

report:存放生成的html测试报告

screenshots:存放测试截图

test case:测试类模块

test run:存放自动化测试文件以及自动化测试平台部署

以上则为自动化测试框架的前期搭建思路,具体实现内容,敬请期待,下期见

 

参考学习:我要自学网appium自动化测试

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hy1243189485/article/details/86729272

智能推荐

09_变量的命名_定义变量时将变量名命成09pt是否正确_解甲归田1的博客-程序员秘密

变量的命名目标标识符和关键字变量的命名规则0.1 标识符和关键字1.1 标识符标示符就是程序员定义的 变量名、函数名名字 需要有 见名知义 的效果,见下图:标示符可以由 字母、下划线 和 数字 组成不能以数字开头不能与关键字重名思考:下面的标示符哪些是正确的,哪些不正确为什么?fromNo12from#12my_Booleanmy-BooleanObj...

转子接地保护原理_发电机转子接地保护_杨姓美少年的博客-程序员秘密

发电机转子接地保护正常运行时,发电机转子电压(直流电压)仅有几百伏,且转子绕组及励磁系统对地是绝缘的。因此,当转子绕组或励磁回路发生一点接地时,不会构成对发电机的危害。但是,当发电机转子绕组出现不同位置的两点接地或匝间短路时,很大的短路电流可能烧伤转子本体;另外,由于部分转子绕组被短路,使气隙磁场不均匀或发生畸变,从而使电磁转矩不均匀并造成发电机振动,损坏发电机。为确保发电机组的安全运行,当发电机...

电信 NB-IoT无缝对接阿里云IoT 物联网平台_IoT物联网技术的博客-程序员秘密

众所周知,中国电信的NB-IoT设备必须直连电信CTWing平台,无法直接在阿里云IoT,AWS IoT,腾讯云IoT 管理中国电信的NB-IoT设备。IoT开发者苦于运营商平台久已,阿...

根据吴安德(斯坦福大学深度学习讲座),您应该如何阅读研究论文_weixin_26632369的博客-程序员秘密

重点 (Top highlight) 信息性 (Informational)“Wisdom is not a product of schooling but of the lifelong attempt to acquire it.” “智慧不是学校教育的产物,而是终身学习的产物。” — Albert Einstein - 艾尔伯特爱因斯坦 介绍 (Introduction)The...

Central Inventory (oraInventory) - inventory.xml 1_cuixie2370的博客-程序员秘密

oraInventory 当安装或卸载ORACLE产品,或对存在的产品实施补丁,都会访问oraInventory。比如在安装Oracle某个组件的时候,软件位置页面会显示所有oraInventory中记录的...

Springboot--消息队列简介及与rabbitMQ的整合_席剑啊~的博客-程序员秘密

一、消息中间件概述1.大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力、可在高并发场景中起到流量削峰的作用1)传统的同步调用,导致系统同步通信效率低、使用消息队列解决异步通信的问题,将注册信息按格式写入消息队列,发送邮件和发送注册短信的功能进行异步调用,从而加快系统的响应速度。2)应用解耦,当分布式项目的某个系统如果直接调用另一个系统的接口,会使应用的耦合度...

随便推点

mongodb增加数据_web前端 zxp的博客-程序员秘密

1. db.xxx(集合名).insertOne({userName:“xxx”}) (增加一条记录)()里面要写对象的形式2.mongoimport 导入数据mongoimport 它是和mongo同一个级别的,导入数据的时候不要在mongo环境当中导入–db:指定库 (注意是两个“-”)–collection:指定集合–file:指定目录–drop: 可选,如果增...

超全MyBatis动态代理详解!(绝对干货)_Java秦心的博客-程序员秘密

前言假如有人问你这么几个问题,看能不能答上来Mybatis Mapper 接口没有实现类,怎么实现的 SQL 查询 JDK 动态代理为什么不能对类进行代理(充话费送的问题) 抽象类可不可以进行 JDK 动态代理(附加问题)答不上来的铁汁,证明 Proxy、Mybatis 源码还没看到位。不过没有关系,继续往下看就明白了动态代理实战众所周知哈,Mybatis 底层封装使用的 JDK 动态代理。说 Mybatis 动态代理之前,先来看一下平常我们写的动态代理 Demo,抛砖引玉一般

蓝牙 UUID 解释_蓝牙uuid_jiangchao3392的博客-程序员秘密

一,什么是 UUIDUUID 可以简单理解为编号,唯一的编号,用于区分不同的个体。服务和特性都有各自的UUID。比如经典的9527。UUID 就跟身份证一样,不管是你是局长还是科长,人人都有身份证。这里的 Read, Notify,Write_Without_Response为该CharacteristicUUID所具有的属性二、 服务(Servi...

react 使用 PropTypes 进行类型检查_proptypes.func_weixin79893765432...的博客-程序员秘密

https://www.npmjs.com/package/prop-typeshttps://cloud.tencent.com/developer/article/1684723https://segmentfault.com/a/1190000016182458https://zh-hans.reactjs.org/docs/typechecking-with-proptypes.htmlhttps://zhuanlan.zhihu.com/p/35344200

php 单例 基类,php继承单例类实现各子类的单例_黑忠的博客-程序员秘密

父类不能被实例化,不能给覆盖。子类实现单例不能使用self,而是用static,它们都是在类体内调用类的方式,区别在于self关键字是在编译时决定它所指代的类,它写在了哪个类中,它指代的就是那个类。而static关键字则是在执行的过程中才决定它所指代的类。abstract class father{final protected function __construct(){$this->i...

[导入]普元EOS_iteye_3445的博客-程序员秘密

     http://www.primeton.com/    普元软件公司是国内专业的中间件提供商,从国家得到了不少投资,做出来的东西也是相当的庞大。最近普元EOS的宣传和发展的势头都很盛。其宣传材料中屡次提到“软件的涅磐“这一用语,这明显是一种危言耸听之举,当然这在业内也不算什么新鲜的事情。按照EOS的宣传,"以图形化的构件组装方式“画”出来的软件无论从结构上、形式上还是开发过...

推荐文章

热门文章

相关标签