与其他测试平台相比有什么优点:
1.测试平台解决了web,app部分元素无法定位的痛点,只需要对无法定位的点进行截图,然后上传到工程目录下后,在自动化用例里面输入图片的名称与格式就会进行图像的匹配识别,识别到后会完成点击与判断页面是否存在等操作
2.采用Robotframework 的关键字系统,只需要输入关键字 加上元素的定位等方式,减少代码量的编写
3.可以自己编写第三库进行导入,扩展性极强
4.接口测试与UI测试可以同时进行,采用了python的多进程与协程操作,减少自动化用例的运行时间
开发测试平台的初衷:希望web,app的UI自动化和接口的自动化能够一起执行,去掉jenkins构建,代码重构,繁多等问题。
本平台是1.0版本,后续还将完善更多的功能(考虑是作成一个测试的客户端还是网页)
采用了哪些开源技术/框架
- python3
- Django
- Bootstrap3
- requests
- pymysql
- pyautoGUI
- Pyhook
- robotframework
- Selenium2library
- SikuliLIbrary
- APSscheduler
- openCV
等库与插件
首先安装python3.6版本或者3.7版本(有以前的安装库的尽量卸载,避免安装包版本的冲突,如果冲突了卸载了再安装很费时间,亲测这些坑),
然后找到目录下的requirements.txt文件,按住shift +右键点击在此处打开Power shell窗口
, 然后输入pip install -r requirement.txt,等待安装完毕,
安装mysql数据库(我的版本为5.7),
导入关键字说明文件autotest.sql,在数据中新建一个连接,
新建的连接名称与账户密码都应该与Django settings文件中的此处一样:
下载完整的工程文件后,pycharm中打开
运行(也可以用pycharm的快捷键ctrl+alt +R) 首先输入makemigration--然后是migrate 输入时会有提示(##很多人在这一步出现了报错,解决办法是把apitest,webtest包下的migrations文件夹删除,这是我上传的文件时,已经makemigration过了造成的),这一步是创建数据表
你需要设置你的各种参数,不一定要与我的一样!!!,我是通过navicat连接,你也可以选择别的工具
新建数据库命名为autotest,然后导入目录下的autotest.sql这个文件,navicat导入数据库文件,不会的同学请百度
至此环境配置已经完成。
下载完整的工程文件后,pycharm中打开
运行(也可以用pycharm的快捷键ctrl+alt +R)
python manage.py runserver 指定希望运行的端口,也可以在在pycharm中设定端口号(8080有时候会被占用)
在下方的命令行中输入createsuperuser,下方自带提示功能的
创建后才能登陆,使用功能,否则会报错!
然后在网页上输入网址比如127.0.0.1:9000/admin/,然后输入你 createsuperuser中设置的账户和密码,如果忘记了再次设置新的即可
登陆Django自带的admin页面后显示如下:,在箭头所指示的地方添加平台的使用用户
在页面中输入http://127.0.0.1:8000/login/ 后登陆页面如下
ps:背景刚开始看还可以,后面越看越丑,有推荐的嘛?
创建登录的账号和密码:
也可以在Assert 中可以对多个参数做判断(后续将增加对返回值参数是否存在与数据库中的断言)
web自动化步骤的添加和robotframework的一样,区别是增加了填写的参数位置固定了。步骤添加页面设计来源于Django 自带的admin模板 +suit这个美化过
只需将需要点击的图标截图名称填写进步骤里面(支持定位输入框,页面按键,链接等)
如百度的查询按键:
如Testerhome的登陆按键
这是页面的上传功能按键:
等,图片背景变换会导致识别不到对应的截图,所以要保持点击的图标背景与截图的一致
所有测试用例支持运行所选部分和全部,支持定时任务的执行(与jenkins定时执行构建任务一样)接口与UI自动化可以一起执行,接口和UI需要分别设置
测试平台的基本情况 已经讲解完成,后续将讲解相应部分的代码 我的QQ:1633235633@qq.com,有问题可以联系。后续开发完后将公布github地址,进行开源以便发现更多的问题