在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
项目名称: seleniumRobot自动代理测试系统一、介绍1、项目背景:目前许多WEB应用系统测试工作单调重复,只需要设计好测试案例,就可以机械化的执行测试。其实,手工重复点击测试的动作可以由系统替代执行,测试人员只需要设计好测试案例,具体的执行是可以批量自动化进行的。2、项目介绍:seleniumRobot自动代理测试系统是基于Python编写的一个selenium自动化测试工具,可以替代开发或者测试人员对指定的目标站点进行自动访问测试,系统总共分为6个功能模块。系统不做数据持久化记录,无需链接数据库,使用方式简单快捷,适合IT测试人员使用以及进行二次功能开发。具体现实功能如下:1)、通过配置目标站点,可以替代人工手动方式对目标网站进行自动访问,模拟人工访问进行系统稳定性测试;2)、可以配置指定的免费代理IP公开网站,系统从免费IP代理网站中抓取免费IP地址,并测试IP可用性。如果IP可用,则通过IP对目标站点进行代理访问,实现高仿的随机点击访问测试;3)、可以设置不同的时间段进行运行访问,不需要人工监控,可实现全天24小时不间断执行访问脚本;4)、可以同时配置多个目标站点进行自动访问测试,结合测试案例的请求参数配置,可以执行不同的测试案例;二、软件架构1、main模块:程序运行主口入,通过from .. import语句引入其他五个功能模块。程序外层是一个while无限循环,内部通过_conf类模块的visit_time函数指定需要执行的时间段,也可以设置全天时段。如果需要执行,则通过_proxies模块的scraw_proxies抓取代理IP,然后调用_ipcheck检测类的check方法检测IP是否正常可用,如果IP可用,则调用 _visit核心功能模块的proxy_visit方法对目标站点进行访问;2、Lib/_chrome模块:次模块是Chrome浏览器访问参数配置类,需要定义chromeOptions的参数选项,其中userAgentlist数组是代理访问的请求头参数,可以定义多个不同版本的浏览器。url是一个参考网站,用于检测IP地址的可用性。其外,headers请求头还设置了Accept、Accept-Encoding的请求配置。使用该类之前,需要安装谷歌的Chroem浏览器,并下载对于版本Chrome驱动(http://npm.taobao.org/mirrors/chromedriver/ ),然后将驱动包分别放置到Chrome浏览器和Python的跟目录下。3、Lib/_conf模块:该配置模块主要定义了一个target_urls数组,用于放置需要访问的目标站点,可以按实际需求添加多个。另外提供了一个visit_time函数用于判断是否在指定的时间段内,如果是则返回true,反之则返回Flase;4、Lib/_ipcheck模块:该模块提供的check函数功能主要是通过requests模块的get函数检测抓取的免费代理IP是否可用,如果可用,则将IP加入到数组中,最后返回可用IP,如果不可用则忽略IP;5、Lib/_proxies模块:从http://www.xicidaili.com/nn/ 公开网站中自动抓取免费代理IP地址,并封装成数组格式返回结果。其中page_num参数这个免费代理IP的查询分页参数,我们默认使用第1页的IP,其他Page页的IP可能存在过期的情况,建议抓取使用最新的IP记录。6、Lib/_visit模块:自动测试访问功能类,遍历所有参入的可用IP,进行二次检测,需要设置driver.set_page_load_timeout(30)和driver.set_script_timeout(30)这两种参数,如果请求异常,则弃置IP并打印异常日志,反之将IP封装到一个数组集合中;在这个模块中我们给Chrome浏览器设置了--proxy-server这个代理访问的参数,对目标网站进行自动代理访问。三、安装教程1.在自己使用的本地电脑中安装Python运行环境,具体参考百度知道:https://jingyan.baidu.com/article/cb5d6105a32b5f005c2fe0ea.html2.通过JetBrains PyCharm工具下载gitee项目,并运行main.py文件即可;3.除方式2外,还可以直接下载项目zip包之后,使用cmd访问main.py文件执行;四、鼓励支持谢谢您的关注与支持,我们为您提供更多有用的开源项目,THANK YOU. |
请发表评论