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 <允 ...
随机推荐
- Leetcode solution 124: Binary Tree Maximum Path Sum
Problem Statement Given a non-empty binary tree, find the maximum path sum. For this problem, a path ...
- GUID做主键真的合适吗
在一个分布式环境中,我们习惯使用GUID做主键,来保证全局唯一,然后,GUID做主键真的合适吗? 其实GUID做主键本身没有问题,微软的很多项目自带DB都是使用GUID做主键的,显然,这样做是没有问题 ...
- 综述 | SLAM回环检测方法
本文作者任旭倩,公众号:计算机视觉life成员,由于格式原因,公式显示可能出问题,建议阅读原文链接:综述 | SLAM回环检测方法 在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿 ...
- jquery实现表格导入到Excel(加图片)
话不多说直接上代码 第一步:导入jquery的插件https://github.com/rainabba/jquery-table2excel HTML部分: 第二步:添加一个按钮 <but ...
- Codeforces 697D
题意略. 思路: 对于随机产生的一个数列,对于某个儿子,其兄弟在其前面的概率为 1 / 2. 所以这个兄弟对期望的贡献为son[v] / 2,所有兄弟加起来即为(tot - 1) / 2. 详见代码: ...
- Leetcode之深度优先搜索(DFS)专题-559. N叉树的最大深度(Maximum Depth of N-ary Tree)
Leetcode之深度优先搜索(DFS)专题-559. N叉树的最大深度(Maximum Depth of N-ary Tree) 深度优先搜索的解题详细介绍,点击 给定一个 N 叉树,找到其最大深度 ...
- JS高级(摘自简书)
JS高级 1. 访问对象属性(方法也是属性)的通用方式:obj['属性名'] 1. 属性名包含特殊字符,如"-".空格,访问:obj['content-type'] 2. 属性名不 ...
- 007 Linux系统优化进阶
一.更改 ssh 服务远程登录的配置 windows:默认远程端口和管理员用户 管理员:administrator port :3389 Linux:远程连接默认端口和超级用户 管理员:root ...
- shell操作钉钉机器人实现告警提醒
我们知道,之前的运维告警多通过mail 等方式通知到相应的人员,难以实现随时随地的查看.随着手机APP的发展,很多告警开始发送到IM软件上去.目前比较常用的是发送到微信和钉钉上,今天我们将重点放在钉钉 ...
- NLP(二十四)使用LSTM构建生成式聊天机器人
准备 数据集:AIML数据集 下载数据集并用Notepad++打开,复制到txt文件中方便打开 代码实现 数据很少,训练轮次不多,结果不好,仅当示例 import numpy as np import ...