# PyAutoTest **Repository Path**: fullstackqa/PyAutoTest ## Basic Information - **Project Name**: PyAutoTest - **Description**: 使用Python编写的自动化测试平台,可以根据自己扩展API/Appium/WEB自动化测试, - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2019-03-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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 #;用于操作串口的库 注:安装上所有的包后把C:\Python27\python.exe 更改成python27,因为下面需要安装python24版本 1.3 安装ActiveTcl8.4.19.0.285137-win32-ix86-threaded.exe 1.4 安装ActivePython-2.4.5.14-win32-x86.exe 1.5 创建环境变量PythonAuto为PyAutoTest的当前目录(D:\PyAuthoTest),注意目录中不要包含中文名 1.6 IxVeriWave安装目录下的automation压缩包到PyAutoTest目录下并且解压重命名为automation # 2、PyAutoTest平台介绍 # PyAutoTest平台主要通过调用automation里面的tcl脚本完成各项Ixia指定性能的测试 ## 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:控制信号衰减仪器调用的串口名称 转盘COM:控制转盘的串口名称 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 配置DUT的参数使用kc.函数名,Ixia流量测试使用ktcl.函数名,如果需要使用到其他的全局类,需要在WinMain.py里面先进行类的初始化 3.1.7 测试用例的sheet表名称必须修改为testcases 3.1.8 sheet_location数据源主要存放该条目对应在Excel模版中的哪一个sheets以及哪一个单元格中 # 4、kc类编写 # 4.1 kc类主要存放在lib\产品类.py文件中,该文件中必须包含一个产品名的类,测试用例中调用的kc配置函数必须在这里有定义. 4.2 __init__初始化函数必须包含一个**kargs变量用于存放从GUI上传入的参数信息 4.3 其他的配置函数一般带一个kargs变量,该变量一般传入的值为字符串字典,一般在处理之前先要把字符串转换成字典格式 4.4 测试用例中调用到的函数返回值必须为布尔变量 # 5、ktcl类编写 # 主要调用lib\TclClass.py文件中的TclClass类,该类主要用于调用Ixia的tcl脚本,然后把执行脚本的结果返回给WinMain.py主程序,WinMain.py然后根据信号把结果填入到相对于的Excel表格中 # 6、添加新产品 # 添加新产品注意基本步骤 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 在lib目录下创建"产品类.py"的文件,然后在该文件中创建class "产品名"的类,最后在该类下编写测试用例中调用到的函数名 # 7、测试结果查看 # result目录下存放的为每次测试结果日志文件,其中文件夹时间最新的为当前测试文件