PyAutoTest自动化平台

1、环境搭建

1.1 下载或拷贝整个PyAuthoTest到指定的目录,如D:\PyAuthoTest

1.2 安装Python2.7以及需要使用到的安装包列表如下

requests-2.10.0.tar.gz#;用于发送http数据报文

PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe#;用于主窗口绘制

pywin32-214.win32-py2.7.exe#;用于操作Excel API

configobj#;用于解析加载配置文件

demjson#;用于解析json格式的数据

serial#;用于操作串口的库

Image#;用于图像识别

paramiko#;用于ssh连接

selenium#;用于WEB自动化测试

appium#;用于安卓UI测试

2、PyAutoTest平台介绍

主要用于WEB UI自动化、APP自动化、接口自动化

2.1 文件目录介绍

2.1.1 WinMain.py

用例脚本生成(把test产品目录下的excel文件转换成python脚本)

GUI用例树生成(把test产品目录下的python文件生成.xml文件)

自动化测试入口以及log显示

2.1.2 config.ini

GUI加载时的配置文件

2.1.3 lib目录

主要存放公共调用的类文件

该目录下的文件可以根据需求扩展

2.1.4 config目录

GUI上产品类和子产品类配置文件

AllPro.ini 里面存放的为产品类下拉列表值(需手动添加)

各个产品文件夹下一般包含至少2个文件

REALTEK_AllSonProd.ini 子产品列表文件 (需手动添加)

REALTEK_F6.xml 自动生成的测试用例树的配置文件

2.1.5 result目录

为每次测试结果日志保存目录

2.2 GUI参数介绍

2.2.1 首先使用python27打开WinMain.py文件得到GUI入口,如下图所示

GUI参数说明:

产品类:该参数列表在config\AllPro.ini文件中,主要区分不同产品类型的产品

产品名:该参数列表为产品类目录下的config\产品类\产品类_AllSonProd.ini文件中,主要区分相同产品类中的不同类型的产品,比如AP产品中有AP1,AP2、AP3等

产品COM:控制待测设备串口编号

ssh地址:控制ssh连接的服务器IP地址

DUT登录用户名:登陆DUT时使用的用户名

DUT 登录密码:登陆DUT时使用的密码

DUT 登陆地址:登陆DUT的IP地址或者域名

用例转换:主要把test\产品类\产品类_产品名_模块名.xls的excel文件转换成该目录下同名的.py字典

创建配置:主要把test\产品类\产品类_产品名_模块名.py的所有.py结尾的字典生成config\产品类\产品类_产品名.xml的配置文件,该.xml配置文件解析后即为左边测试用例树中的测试用例点

3、用例编写介绍

3.1 用例编写注意事项

3.1.1 编写的用例文件必须在test\产品类目录下,且文件名格式必须为产品类_产品名_模块名.xls,注意模块名中不能包含"_"

3.1.2 用例文件中的第A列Items必须为测试项名称,如果测试项中有多个测试点,测试项名称格式必须为"编号] 测试项名称",测试项包含测试点以及前置0) 初始化、清理 E)环境清理的行.

3.1.3 测试项必须从第二行开始,以后每个测试项之间有且仅有一行空行

3.1.4 关键步骤和代码步骤必须一一对应 并且必须以 "数字> xxxxxx"的格式编写

3.1.5 代码步骤后的列如果有数据则为数据源列,数据源变量名和0)初始化在同行,数据源下面的值表示该行对应测试点测试时该数据源变量对应的值

3.1.6 测试用例的Excel中工作表名称必须修改为testcases

4、kc类编写

4.1 kc类主要存放在lib\产品类.py文件中,该文件中必须包含一个产品名的类,测试用例中调用的kc配置函数必须在这里有定义.

4.2 __init__初始化函数必须包含一个**kargs变量用于存放从GUI上传入的参数信息

4.3 其他的配置函数一般带一个kargs变量,该变量一般传入的值为字符串字典,一般在处理之前先要把字符串转换成字典格式

4.4 测试用例中调用到的函数返回值必须为布尔变量或者字符串字典(用于接口测试返回值)

5、添加新产品

添加新产品注意基本步骤

6.1 在config\AllPro.ini中添加产品类,在config目录下创建文件夹名为"产品类"目录,然后进入产品类中创建"产品类_AllSonProd.ini"文件,在"产品类_AllSonProd.ini"文件中添加产品名

6.2 在test目录下创建"产品类"目录,然后再"test\产品类"目录下创建"产品类_产品_模块名.xls"的文件,再在"产品类_产品_模块名.xls"文件中按照用例格式编写测试用例

6.3 用例完成以后,打开WinMain.py,然后选择相对应的产品类和产品名,次数左边没有用例,然后点击“用例转换”按钮把Excel转换成.py文件,然后再点击创建配置文件自动生成config\产品类\产品类_产品名.xml文件后,完成以后左边就会有相对应的用例树了

6.4 如果是WEB测试,则在lib\WEB目录下创建 产品类.py文件,在产品类中必须包含产品名的类,WEB中要使用到的标签存放在 产品类_CMAP.xlsx的文件中.(如果是测试API接口和WEB一样)

6、CMAP映射表

CMAP文件中每一个工作表代表一个产品的所有标签集合.

A列表示模块名称,只是用来标识

B列表示模块名称关键字,这个关键字会和配置该模块的函数名一致

C列表示描述该标签的作用

D列表示参数名称,该参数一般就是该模块函数名中的一个参数,对应配置该标签的变量

E列表示该标签的前置frame名称,如果没有则留空.

F列表示定位该标签的属性,一般为id/name/class/xpath/au(appium使用)

G列表示定位该标签属性值

H列表示标签类型,一般为text_field/button/div/checkbox/radio/a/select,该列可以自定义添加新类型

I列表示该属性有多个标签时,根据具体的attribute属性确定标签唯一性(比如raido/select)

J列表示操作该标签时是否需要滚动屏幕,取值为down/up/left/right分别表示向下/向上/向左/向右滚动屏幕

7、测试结果查看

result目录下存放的为每次测试结果日志文件,其中文件夹时间最新的为当前测试文件

pythonapp自动化_GitHub - qdyxmas/PyAutoTest: python Autotest UI自动化 APP自动化 HTTP接口自动化...相关推荐

  1. 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)

    python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...

  2. python怎么自动生成测试报告_python生成接口自动化测试报告模版

    1:准备html模版 接口自动化 自动化测试报告:&test_data 被测版本:&version 成功:&pass 失败:&fail 错误:&error 最后 ...

  3. python+requests+pytest+allure+yaml+DDT+logs 接口自动化框架使用手册

    一.单条测试用例 无ddt数据驱动的场景 1 config.yaml 中书写基础路径 2 在redloads模块中,新建一个demo_fun.py文件, 其中demo要用的方法写在其中 如:读取con ...

  4. 【接口自动化】3.写接口自动化case要注意的点

    可能有人会说,写接口的自动化CASE多简单了,写个参数发送请求完事了,还要注意啥? 没错,相比起UI自动化的case,你要去写各种定位器,接口自动化的case写起来确实容易多了.这也是接口自动化 的一 ...

  5. 【测试面试】自我分析+功能+接口自动化+性能测试面试题(大全),知己知彼百战百胜......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  6. pythonapp自动化_Android App持续集成性能测试:使用Python实现UI自动化

    本帖最后由 Android_Robot 于 2016-10-26 15:12 编辑 本篇内容主要为大家提供的是Android App持续集成性能测试:使用Python实现UI自动化.感兴趣的同学可以参 ...

  7. python+uiautomator2 UI自动化

    python+uiautomator2 UI自动化 uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库. 其底层基于Google uiautomator,Goo ...

  8. python自动化运维快速入门 pdf 郑征_GitHub - bei2love/Python-100-Days: Python - 100天从新手到大师...

    Python - 100天从新手到大师 作者:骆昊 说明:从项目上线到获得8w+星标以来,一直收到反馈说基础部分(前15天的内容)对新手来说是比较困难的,建议有配套视频进行讲解.最近把基础部分的内容重 ...

  9. 【python】UI自动化-uiautomation

    UI自动化-uiautomation 0- 前言 1- inspect 2- uiautomation 3- [实战]RustDesk软件自动 安装.指定服务器信息 4- 参考文章 0- 前言 做应用 ...

最新文章

  1. prefixspan是挖掘频繁子序列,子序列不一定是连续的,当心!!!
  2. 模糊数学笔记:二、模糊截集与分解定理
  3. [YTU]_2498 (C++类实现最大数的输出)
  4. 中断系统详解、外部中断
  5. SQL server USE GO语句学习总结
  6. 高通发布《5G经济》研究:将催生12万亿美元市场
  7. 5类6类7类网线对比_超6类网线和7类网线有何区别?有何用途?家用电脑,看这!...
  8. 1.1介绍线程和运行(Introducing Thread and Runnable)
  9. 计算机原理 做实验报告,微机原理实验报告心得体会
  10. c语言中isupper用法,isupper - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  11. 操作系统(02326)自考学习笔记/备考资料
  12. php 批量生成一维码,thinkphp5 + barcode 生成条形码
  13. linux游戏掌机,一起来猎奇:窄众平板/游戏掌机推荐
  14. 人生就是一个醒悟的过程(深度好文)
  15. 【Bioinfo Blog 011】【R Code 008】——功能富集分析
  16. ppt幻灯片如何与母版背景一块复制到新幻灯片
  17. 【毕业设计】基于树莓派的指纹识别打卡系统 - 单片机 物联网
  18. n维欧氏空间里的基本概念和符号
  19. 【i学堂】PPT美化
  20. 用户注册文件register.html的编写

热门文章

  1. Objections vs. excuses
  2. Linux学习之CentOS(五)----网卡的配置
  3. 戏(细)说Executor框架线程池任务执行全过程(上)
  4. MySQL数据库学习笔记(三)----基本的SQL语句
  5. TX Text Control文字处理教程(11)使用文本框
  6. LINUX系统中动态链接库的创建和使用
  7. 业务逻辑数据层SqlDataSourcesql的输入参数控件参数System.Web.UI.WebControls.GridView.SelectedValue...
  8. oracle关联视图查询满_对于复杂的SQL, Oracle是怎么做的?
  9. 信息学奥赛一本通 1308:【例1.5】高精除
  10. 信息学奥赛一本通 2042:【例5.10】稀疏矩阵