参考文档:https://www.kancloud.cn/lamecho/pyswat/330991

1、Pyswat简介

Pyswat(python-selenium-web-auto-test)是基于selenium实现web页面UI自动化操作的,主要模块在于录制和回放,录制的不是脚本命令而是操作执行的步骤,excel对于操作步骤清晰可见同时便于修改维护,录制时一方面借用selenium,另一方面利用pythonHook记录用例的鼠标、键盘操作。

框架也封装了一些方法:
drag(拖拽,区别于selenium的软拖拽,完全是根据传入两个元素的位置做了物理拖拽,效果更理想)
check(页面内容检查,传入你想检查的内容,回放时会在日志中记录查找结果统计)
scroll(滚动屏幕,支持底部,顶部滚动,滚动到元素位置,流畅滚动等)
uploadFile(传入文件路径即可,支持多个文件同时上传,对于检查文件不存在等异常会自动关闭选择文件)

2、Pyswat框架环境搭建

1)Python2.7

2)selenium库

pip2 install selenium

3)xlrd,xlwt库:用于操作excel表格

pip2 install xlrd
pip2 install xlwt

4)ConfigParser库:用于读写Enviroment.ini配置文件

pip2 install ConfigParser

5)numpy、matplotlib库 用于生成运行结果柱状图

pip2 install numpy
pip2 install matplotlib

6)pyHook库:用于python钩子,记录鼠标键盘操作,位数要和python位数版本一致

Pyswat框架环境搭建

7)pywin32:python下操作win32api,位数要和python位数版本一致

Pyswat框架环境搭建

8)bs4库

pip2 install beautifulsoup4

9)Pillow库

pip2 install Pillow

全部安装完成后,pip2 list查看各库的版本
Pyswat框架环境搭建

3、Pyswat框架文件结构

Pyswat框架环境搭建

  • modual文件夹:程序运行依赖的模块
  • pic:保存程序运行时报错的截图
  • 2excel.py:生成excel案列的python程序。运行时确保存在“temp_case.txt”存在,名称可在配置文件中任意指定
  • webs_record.py:录制程序
  • webs_replay.py:回放程序
  • 雪球网演示案例.xls:回放执行案例
  • res.png:运行结果的柱状图
  • run.log:运行时的日志文件
  • temp_case.txt:运行webs_record.py生成的录制原始文件,用2excel.py转换为excel格式
  • temp_case.xls转换后的案例文件
  • Enviroment.ini:配置pyswat框架运行环境

4、Enviroment.ini

使用pyswat前需要配置好Enviroment.ini各项参数:

  • [record]:控制“webs_record.py”录制程序的相关参数
    • file = temp_case.txt:录制完成后生成的原始记录的文件名称
    • url = https://xueqiu.com:录制网址url链接
    • browser = Chrome:录制使用浏览器,目前支持Chrome,Firefox,IE。需要selenium运行环境中存在对应各个浏览器的driver
    • ex-record = 1:录制增强模式,默认打开。0是关闭(建议打开)
  • [2excel]:控制“2excel.py”程序转换案例程序的相关参数
    • sheet = temp_case:生成案例的sheet名称,可自定义
    • file = temp_case.xls:生成案例的excel文档名称,可自定义
    • smart_mode = 1:转化模式,目前默认为1,自动转换键盘输入内容。目前pyswat框架运行只识别该模式下的案例
  • [replay]:控制“webs_replay.py”回放程序的相关参数
    • file = C:\Users\lamecho\Desktop\pyswat_xueqiu_show\雪球网演示案例.xls:运行案例的完整路径
    • case = login,send_message(1),pay_message,new_stock,修改个人信息,退出登录:运行案例的case名称及运行次数(case名称是对应案例excel表中sheet名)
    • url = https://xueqiu.com:回放时打开的web网址
    • browser = Chorme:录制使用浏览器,目前支持Chrome,Firefox,IE。需要selenium运行环境中存在对应各个浏览器的driver
    • think_time = 0:思考时间配置,0表示不使用录制的思考时间;1表示回放时执行思考时间
    • wait_time = 3:各个case切换时的等待时间,默认3秒
    • retry = 0:当案例回放失败后是否执行重试,0不打开重试功能,1执行重试
  • [parameters]:保存案例中指定random方式生成的参数名称及其内容
    • p1 = message-0005:当存在多个参数时,会依次保存
  • [parameters_seq]:保存案例中指定的sequence方式生成的参数及其内容。可修改参数内容,运行时确保案例中调用的参数存在于配置文件中。
    • p1 = message-0004,message-0005,message-0002,message-0003,message-0001:当存在多个参数时,会依次保存。可修改参数内容,运行时确保案例中调用的参数存在于配置文件中。注意分隔符号采用英文逗号

相关文章:

  • 2021-04-28
  • 2021-07-18
  • 2021-10-16
  • 2021-06-22
  • 2021-04-27
  • 2021-09-18
  • 2021-05-01
  • 2022-12-23
猜你喜欢
  • 2021-07-17
  • 2021-05-08
  • 2021-03-29
  • 2022-01-04
  • 2021-05-19
  • 2021-11-11
相关资源
相似解决方案