
Appium(从入门到框架设计)
主要以实战为主,
Python+appium,从基础到框架搭建
Carl_奕然
全网最逗比的技术博主之一,文章全网阅读量破千万;
荣获优快云、阿里云、51CTO、华为云等多社区专家荣誉,知名企业培训讲师&签约作者;
企业特邀作者和技术测评官,曾获多项国内外主流产品评测奖项;
主张:把博文写成段子,以撩天(妹)方式学习知识;
现就职于世界Top 500知名公司,曾混迹于各大名企;
专注于:AI(机器学习/机器视觉等),大数据,测试开发,性能(传统压测、全链路压测),面试培训及职业规划。
展开
-
Python实现Appium端口检测与释放
python实现端口检测与释放监测端口释放端口监测端口我们要引用的socket模块来校验端口是否被占用。socket是啥?简单一句话:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是啥?socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。关于socket的通讯原理,我们可以参考socket通讯原理原创 2020-07-07 15:42:20 · 15652 阅读 · 0 评论 -
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
和selenium一样,需要HTMLTestRunner.py 才能运行测试用例。 1.运行测试用例&生成测试报告2.运行测试用例&生成报告&邮件发送2.1邮箱信息配置2.1.1在yaml文件中配置邮箱信息2.2.2配置全局变量2.2通过邮件发送测试报告1.运行测试用例&生成测试报告直接上代码:TestRunnerToReport.py# -*- coding: utf-8 -*-"""@ auth : carl_DJ@ time : 2020-7-10""原创 2020-07-10 11:50:24 · 14360 阅读 · 1 评论 -
Appium自动化框架从0到1之 测试用例封装
我们直接封装测试用例的 setU 和teardown 模块以后每次执行测试用例,直接调用该方法就可以了myunit.py# -*- coding: utf-8 -*-"""@ auth : carl_DJ@ time : 2020-7-10"""import unittestimport loggingimport timefrom public.desired_caps import appium_desiredclass StartEnd(unittest.TestCas原创 2020-07-10 10:58:56 · 10012 阅读 · 0 评论 -
Appium自动化框架从0到1之 业务模块封装(登录页面业务操作)
我们这次来封装登录页面业务操作:在上代码之前,我们先了解一下登录场景用户名密码小鱼1号fish1小鱼2号fish2小鱼3号fish3然后,我们在登录的时候,会进行一下几个操作:①我们先输入账号、密码,点击 登录按钮②登录后,验证是否有下线提醒,③登录后,验证是否登录成功④退出登录跟着这几步,我们来写代码:loginView.py# -*- coding: utf-8 -*-"""@ auth : carl_DJ@ time : 2020-7原创 2020-07-09 14:19:05 · 10531 阅读 · 0 评论 -
Appium自动化框架从0到1之 基类的封装
这里只封装了4个基类,其他的大家可以自己丰富~~直接上代码:baseView.py# -*- coding: utf-8 -*-"""@ auth : carl_DJ@ time : 2020-7-9"""class BaseView(object): ''' 封装一些基类 ''' def __init__(self,driver): self.driver = driver #元素定位 def find_element(s原创 2020-07-09 13:50:12 · 11178 阅读 · 1 评论 -
Appium自动化框架从0到1之 公共方法的封装
在写测试用例的时候,最常用的就是方法的调用,我们在这里,把公共方法封装到一个文件中,这样以后需要使用,直接调用这个方法就可以了。直接上代码:common_func.py# -*- coding: utf-8 -*-"""@ auth : carl_DJ@ time : 2020-7-9"""'''公共方法封装'''from baseView.baseView import BaseViewfrom public.desired_caps import appium_desire原创 2020-07-09 13:41:29 · 7953 阅读 · 0 评论 -
Appium自动化框架从0到1之 日志文件配置(log.conf)
在config文件中,我们先把log的输出格式,输出路径等参数抽离出来作为一个配置表,这个写法,在selenium自动化框架中,是没有分离的。所以,我们有get到一个新方法:代码如下:log.conf[loggers]keys=root,infoLogger[logger_root]level=DEBUGhandlers=consoleHandler,fileHandler[logger_infoLogger]handlers=consoleHandler,fileHandler原创 2020-07-09 11:39:14 · 7838 阅读 · 0 评论 -
Appium自动化框架从0到1之Driver驱动的封装
上一篇写的是driver驱动的配置,那么,这篇呢,我们要搞这三件事情:1.driver驱动封装2.日志配置文件加载3.启动APP配置参数下面,我们就在代码中实践:# -*- coding: utf-8 -*-"""@ auth : carl_DJ@ time : 2020-7-9"""'''driver 配置封装日志文件加载'''import yaml,osimport logging.configfrom appium import webdriver#读取log原创 2020-07-09 11:14:13 · 8118 阅读 · 0 评论 -
Appium自动化框架从0到1之 Driver配置封装
不管是调用模拟器,还是调用真机,都需要准备一些driver的参数,以便被调用。思想:我们把driver配置信息,封装到yaml文件,然后通过读取yaml文件的内容,调用其driver信息。为了更直观的看如何封装,我们直接上代码:caps.yamlplatformName: Android#模拟器platformVersion: 5.1.1#platformVersion: 4.4.2deviceName: 127.0.0.1:62001#mx4真机#platformVersion:原创 2020-07-09 09:34:48 · 8492 阅读 · 0 评论 -
Appium自动化框架从0到1之 框架结构组成
从0到1搭框架框架背景框架功能框架视图框架背景可能会利用一周的时间,我们来写一个Appium自动化框架的搭建,从0到1,跟着小鱼一起,完善Android 的自动化框架体系。框架模式:PO语言:python3.7 + Appium 1.17框架功能・业务功能封装・测试用例封装・测试包管理・截图处理・日志获取・报告生成・断言处理・数据驱动・数据配置框架视图了解了框架的构成,那么接下来的几天,我们根据设计好的框架结构,来完善框架的代码内容。...原创 2020-07-09 09:21:50 · 8707 阅读 · 0 评论