Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)
简介
好久没有更新博客了,博友们是不是有点等不及了。不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的。从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完整的python+appium自动化测试框架。
框架背景
前面我们已经学习了Appium各种元素定位,手势操作、数据配置、Pageobject设计模式等等。但是前面的功能都是比较零散的,没有整体融合起来,实际项目实践过程中我们需要综合运用,那么本章节我们将结合之前所学的内容,从0到1搭建一个完整的python+appium自动化测试框架。
框架功能
- 业务功能的封装
- 测试用例封装
- 测试包管理
- 截图处理
- 断言处理
- 日志获取
- 测试报告生成
- 数据驱动
- 数据配置
- Win10 64Bit
- Appium 1.7.2
- 考研帮App Android版3.1.0
- 夜神模拟器 Android 5.1.1
测试案例
测试环境
1.宏哥的系统环境是Windows 10版本 64位系统

2.宏哥的dk版本:"1.8.0_181"

3.宏哥的appium版本:1.4.16

4.selenium:3.141.0
安装selenium:
输入指令pip install selenium
验证安装成功:pip show selenium

5.测试设备:Android 5.1.1 (不能低于5.0版本)

6.Python:3.7.2
命令:python -V ,回车即可。

7.测试App:
考研帮Android app V3.1.0
覆盖用例
1.登录场景
|
用户名 |
密码 |
|
北京宏哥2018 |
bjhg2018 |
|
北京宏哥2019 |
bjhg2019 |
|
666 |
222 |
2.代码实现

3.参考代码
test_login.py
# coding=utf-
# .先设置编码,utf-8可支持中英文,如上,一般放在第一行
# .注释:包括记录创建时间,创建人,项目名称。
'''
Created on --
@author: 北京-宏哥
Project: Appium自动化测试框架综合实践 - 框架简介 - 登录
'''
# .导入模块
from common.myunit import StartEnd
from businessView.loginView import LoginView
import unittest
import logging
class TestLogin(StartEnd):
csv_file='../data/account.csv'
@unittest.skip('test_login_bjhg2019')
def test_login_bjhg2019(self):
logging.info('======test_login_bjhg2019=====')
l=LoginView(self.driver)
data=l.get_csv_data(self.csv_file,)
l.login_action(data[],data[])
self.assertTrue(l.check_loginStatus())
# @unittest.skip('skip test_login_bjhg2018')
def test_login_bjhg2018(self):
logging.info('======test_login_bjhg2018=====')
l=LoginView(self.driver)
data = l.get_csv_data(self.csv_file, )
l.login_action(data[], data[])
self.assertTrue(l.check_loginStatus())
@unittest.skip('test_login_error')
def test_login_error(self):
logging.info('======test_login_error=====')
l = LoginView(self.driver)
data = l.get_csv_data(self.csv_file, )
l.login_action(data[], data[])
self.assertTrue(l.check_loginStatus(),msg='login fail!')
if __name__ == '__main__':
unittest.main()
1.注册场景
注册一个新的账号(账户和密码可以随机生成),完善院校和专业信息 (如:院校:上海-同济大学 专业:经济学类-统计学-经济统计学)
2.代码实现

3.参考代码
test_register.py
# coding=utf-
# .先设置编码,utf-8可支持中英文,如上,一般放在第一行
# .注释:包括记录创建时间,创建人,项目名称。
'''
Created on --
@author: 北京-宏哥
Project: Appium自动化测试框架综合实践 - 框架简介 - 注册
'''
# .导入模块
from common.myunit import StartEnd
from businessView.registerView import RegisterView
import logging,random,unittest
class RegisterTest(StartEnd):
def test_user_register(self):
logging.info('======test_user_register======')
r=RegisterView(self.driver)
username = , ))
password = , ))
email = , )) + '@163.com'
self.assertTrue(r.register_action(username,password,email))
if __name__ == '__main__':
unittest.main()
框架设计图
这里宏哥根据两个场景设计了大致框架

小结
今天就分享这么多吧,后边就由宏哥手把手的教你从0到1的搭建一个完整的python+appium的自动化测试框架。
个人公众号 微信群 (微信群已满100,可以加宏哥的微信拉你进群,请备注:进群)

您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得点波 推荐 哦!!!(点击右边的小球即可!(^__^) 嘻嘻……)

Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)的更多相关文章
- Appium+python自动化(十五)- Android 这些基础知识,你知多少???(超详解)
简介 前边具体操作和实战已经讲解和分享了很多了,但是一些android的一些基础知识,你又知道多少了,你都掌握了吗?这篇就由宏哥给小伙伴们既是一个分享,又是对前边的一次总结.为什么要对这些做一个简单的 ...
- Appium+python自动化(十八)- 你难道是猴哥失散多年的混血弟弟还是妹妹???- Monkey事件(超详解)
操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事 ...
- 第三十五章、PyQt输入部件:QFontComboBox、QLineEdit、QTextEdit、QPlainText功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 输入部件量比较多,且功能很丰富,但除了用于编写编辑器.浏览器 ...
- Appium+python自动化(十六)- ADB命令,知否知否,应是必知必会(超详解)
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或 ...
- Appium+python自动化(二十四)- 白素贞千年等一回许仙 - 元素等待(超详解)
简介 许仙小时候最喜欢吃又甜又软的汤圆了,一次一颗汤圆落入西湖,被一条小白蛇衔走了.十几年后,一位身着白衣.有青衣丫鬟相伴的美丽女子与许仙相识了,她叫白娘子.白娘子聪明又善良,两个人很快走到了一起.靠 ...
- Appium+python自动化(十)- 元素定位秘籍助你打通任督二脉 - 上卷(超详解)
简介 你有道灵光从天灵盖喷出来你知道吗,年纪轻轻就有一身横练的筋骨,简直百年一见的练武奇才啊,如果有一天让你打通任督二脉,那还不飞龙上天啊.正所谓我不入地狱谁入地狱,警恶惩奸维护世界和平这个任务就交个 ...
- Appium+python自动化(二十九)- 模拟手指在手机上多线多点作战 - 多点触控(超详解)
简介 在网页中我们经常使用缩放操作来便利的查看具体的信息,在appium中使用MultiAction多点触控的类来实现.MultiAction是多点触控的类,可以模拟用户多点操作.主要包含加载add( ...
- Appium+python自动化(十二)- Android UIAutomator终极定位凶“胸”器(七)(超详解)
简介 乍眼一看,小伙伴们觉得这部分其实在异性兄弟那里就做过介绍和分享了,其实不然,上次介绍和分享的大哥是uiautomatorviewer,是一款定位工具.今天介绍的是一个java库,提供执行自动化测 ...
- Appium+python自动化(十九)- 猴哥失散多年的混血弟弟还是妹妹- Monkey(猴子)参数(超详解)
简介 前边几篇介绍了Monkey以及Monkey的事件,今天就给小伙伴们介绍和分享一下Monkey的参数. 首先我们看一下这幅图来大致了解一下: 1.Monkey 命令 基本参数介绍 -p <允 ...
随机推荐
- springboot + jedisCluster
如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制. 如果使用的是redis3.x中的集群,在项目中使用jedisCluster. 1.项目结构 2.pom.xml 1 <? ...
- 本地图片上传到GitHub,MarkDown使用Github图片地址
最近在学习用markdown编辑器,我是直接用有道云笔记编辑的,感觉真的好好用,编辑了一半的博客,可以按样式保存在云笔记中,我再也不会忘记写博客了~~ 但是在编辑博客的时候发现了一个问题,那就是本地图 ...
- LightOJ - 1370 Bi-shoe and Phi-shoe 欧拉函数 题解
题目: Bamboo Pole-vault is a massively popular sport in Xzhiland. And Master Phi-shoe is a very popula ...
- unity之局域网
Unity自5.1以后支持新版的网络系统Unet,Unet是什么,优缺点是什么,和以前的网络系统有什么区别,请自行去百度.本篇要实现的功能是创建网络游戏的Player主角,以及实现移动同步.本教程来源 ...
- webrtc笔记(1): 基于coturn项目的stun/turn服务器搭建
webrtc是google推出的基于浏览器的实时语音-视频通讯架构.其典型的应用场景为:浏览器之间端到端(p2p)实时视频对话,但由于网络环境的复杂性(比如:路由器/交换机/防火墙等),浏览器与浏览器 ...
- Go Home Trash!垃圾分类 风险与对策
一.外部风险 政策风险 (1)税收风险 本项目同时牵涉教育以及公益领域,在国家大力支持垃圾分类.互联网.信息科技等高技术产业的发展的背景下,我们可以依照国家相关税收政策依法享受国家税收优惠与减免.本公 ...
- 从SpringBoot构建十万博文聊聊限流特技
前言 在开发十万博客系统的的过程中,前面主要分享了爬虫.缓存穿透以及文章阅读量计数等等.爬虫的目的就是解决十万+问题:缓存穿透是为了保护后端数据库查询服务:计数服务解决了接近真实阅读数以及数据库服务的 ...
- javaScript 基础知识汇总(二)
1.运算符 术语或者叫法:一元运算符.二元运算符.运算元(参数) let x=0; x=5+2; //5和2为运算元,“+” 为二元运算符: x=-x; //"-" 为一元运算符 ...
- ElasticSearch专栏
1.es的分布式架构原理(es是如何实现分布式)? elasticsearch设计的理念就是分布式搜索引擎,底层其实还是基于lucene的.核心思想就是在多台机器上启动多个es进程实例,组成了一个es ...
- CF - 1107 E Vasya and Binary String DP
题目传送门 题解: dp[ l ][ r ][ k ] 代表的是[l, r]这段区间内, 前面有k-1个连续的和s[l]相同且连续的字符传进来的最大值. solve( l, r, k) 代表的是处理 ...