当前位置:   article > 正文

自动化平台测试开发方案(详解自动化平台开发)_自动化测试开发

自动化测试开发

目录:导读

前言

自动化平台开发方案自动化平台开发

功能需求

技术知识点

技术知识点如表所示

自动化平台开发技术栈如图所示。

开发时间计划

投资回报率可视化

后期优化计划

登录功能实现

退出功能实现

使用Django 内置用户认证退出函数logout。

权限功能操作

结语


前言

我先前长期负责过自动化平台产品的测试开发工作,所以说对过程还是算比较了解的。 从需求分析开始到大纲设计,再到原型开发,直到发布了第一个beta版本,再到正式版发布。 花了不少的精力,让我给大家总结一下设计过程和经验。

自动化平台开发方案自动化平台开发

功能需求

支持 API、AppUI、WebUI 性能等自动化测试,集成实现测试用例管理、产品管理、任务计划、测试报告、定时任务或持续集成等功能模块。使自动化测试的过程达到数据、脚本、任务分离易于维护和管理,成本更低、数 据更直观、产出更快等目标,甚至能让不会代码的手工业务测试人员参与后续自动化测试工作等。整体架构如图所示。

技术知识点

技术知识点如表所示

分 类

说 明

平台开发部分

Python

用于开发平台和编写自动化测试脚本

Django

用于自动化平台后台开发

MySQL

用于自动化平台开发和测试的数据存储

HTML,JS,CSS

用于自动化平台前端开发

Bootstrap4

用于自动化平台前端及优化

自动化测试部分

Request,Unittest

用于接口自动化测试、单元测试脚本

SDK,ADT,Uiautommuior

用于 App 运行开发环境,元素定位

Appium

用于 App 自动化测试

Selenium

用于 Web 自动化测试

Jenkins

用于定时任务邮件报告等持续集成

Celery,Django-Celery

用于定时任务管理模块开发

自动化平台开发技术栈如图所示。

开发时间计划

如果是刚入门、但有一点代码基础的测试人员,大概3 个月能做出演示版(Demo)进行自动化测试,6 个月内胜任开展工作中项目的自动化测试。

如果是有自动化测试基础的测试人员,大概1 个月能做出演示版(Demo)进行自动化测试,3 个月内能胜任工作中项目的自动化测试。

投资回报率可视化

投资回报率可视化如表所示。

计算项

具体内容

自动化测试成本计算

自动化平台开发成本

用例编写成本

脚本维护成本

执行结果分析成本

续表

计算项

具体内容

自动化测试收益计算

自动化测试用例数

发现有效 Bug 数

节省的人力和时间,即效率提升

版本迭代次数,即自动化使用率

后期优化计划

后期有待优化的功能有平台 UI 优化、脚本管理优化、测试报告优化、性能测试模块优化、邮件模块优化等。将来会考虑集成人工智能、机器学习、Devops 装备等技术。

登录功能实现

步骤 1 创建登录函数,在autotest/views.py 中,写入如下代码。

  1. from django.shortcuts import render
  2. from django.http import HttpResponse,HttpResponseRedirect from django.contrib.auth.decorators import login_required from django.contrib import auth
  3. from django.contrib.auth import authenticate, login
  4. def login(request): if request.POST:
  5. username = password = ''
  6. username = request.POST.get('username') password = request.POST.get('password')
  7. user = auth.authenticate(username=username, password=password) if user is not None and user.is_active:
  8. auth.login(request, user) request.session['user'] = username response = HttpResponseRedirect('/home/') return response
  9. else:
  10. return render(request,'login.html', {'error': 'username or password error'})
  11. #else:
  12. # context = {}
  13. # return render(request, 'login.html', context)
  14. return render(request,'login.html')

步骤 2 创建向导。

在autotest/urls.py 文件中加入如下代码。

  1. urlpatterns = [
  2. path('admin/', admin.site.urls), path('test/', views.test), path('login/', views.login),
  3. # path(r'^home/$', views.home),
  4. ]

步骤 3 在登录页面http://127.0.0.1:8000/login,如输入错误的用户名和密码,提示如图所示。

步骤 4 输入正确的用户名(admin)和密码(test123456),单击“submit”按钮后,会出现错误,如图所示。

根据关键错误日志信息定位问题,排查错误,得知 home.html 不匹配,在 autotest/apitest/ templates 目录下新建

home.html 文件,添加如下内容:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
  2. "http://www.w3.org/TR/html4/frameset.dtd">
  3. <html>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <head>
  6. <title>自动化测试平台</title>
  7. </head>
  8. <body>
  9. <ul class="nav navbar-nav navbar-right">
  10. <li>欢迎您,<a href="#">{{user}}</a></li>
  11. <li><a href="/logout/">退出</a></li>
  12. </ul>
  13. </body>
  14. </html>

在apitest/views.py 中加入以下内容:

  1. def home(request):
  2. return render(request,"home.html")

在autotest/urls.py 中加入以下内容:

  1. urlpatterns = [
  2. path('admin/', admin.site.urls), path('test/', views.test),
  3. path('login/', views.login), path('home/', views.home), #加入
  4. ]

在登录页面,再次输入正确的用户名(admin)和密码(test123456),单击“submit”按钮,如出现如图 所示的错误,可按下述方法解决。

步骤 5 根据关键错误日志信息定位问题,排查错误,通过把home.html 修改另存为UTF-8 编码格式,即可解决上面的问题。

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  2. <html>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <head>
  5. <title>自动化测试平台</title>
  6. </head>
  7. <body>
  8. </ul>
  9. <ul class="nav navbar-nav navbar-right">
  10. <li>欢迎您,<a href="#">{{user}}</a></li>
  11. <li><a href="/logout/">退出</a></li>
  12. </ul>
  13. </body>
  14. </noframes>
  15. </html>
  16. 以及 apitest/views.py 函数,
  17. def home(request):
  18. return render(request,"home.html")
  19. 以及 autotest/urls.py urlpatterns = [
  20. path('admin/', admin.site.urls), path('test/', views.test),
  21. path('login/', views.login), path('home/', views.home), #加入
  22. ]

步骤 6 再次登录后,如图所示,登录功能已经成功实现。

步骤 7 优化页面,把login.html 修改为如下内容。

  1. <!DOCTYPE html>
  2. <html>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>AutotestPlat</title>
  7. <style> body{text-align:center} </style>
  8. </head>
  9. <body>
  10. <div>
  11. <font size="1">
  12. <h1>《自动化平台测试开发》书</h1>
  13. </font>
  14. <form method="post" action="/login/">
  15. {% csrf_token %}
  16. <br><a>&nbsp;&nbsp;用户名:</a> <input name="username" type="text" placeholder="test" >
  17. <br><br> <a>&nbsp;&nbsp;密 &nbsp;&nbsp; 码:</a> <input name="password" type="password" placeholder="test123456">
  18. <br>{{ error }}<br>
  19. &nbsp; <button style="width:220px;height:28px;" id="submit" type="submit">登 录</button>
  20. </form>
  21. </div>
  22. </body>
  23. </html>

查看登录页面,如图所示。

退出功能实现

使用Django 内置用户认证退出函数logout。

步骤 1 在apitest/views.py 中加入如下代码。

  1. def logout(request): auth.logout(request)
  2. return render(request,'login.html')

步骤 2 在autotest/urls.py 中加入如下代码。

path('logout/', views.logout),

步骤 3 在apitest/home.html 中加入如下代码。

<li><a href="/logout/">退出</a></li>

步骤 4 在浏览器中输入地址,输入用户名和密码登录,单击“退出”按钮,可以看到已返回至首页。

权限功能操作

在创建数据库后,使用命令python manage.py createsuperuser,创建超级用户。

创建成功后,在Django admin 后台,用超级用户登录,可以增加用户、组,以及对权限进行控制等。

步骤 1 在浏览器中输入 http://127.0.0.1:8000/admin,输入用户名(admin)和密码(test123456)后登录。单击“用户”→“添加用户”,如上图所示,输入用户名和密码单击“保存”按钮。

单击刚创建的test 用户,密码为test123456。

如上图所示,往下拉会看到“权限”,勾选“职员状态”复选框,再往下选择用户权限中的模块权限,单击箭头按钮,会显示在上图右边的文本框中。

如图所示,单击保存。即完成了创建新用户,以及设置新用户的访问操作权限。

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

如需了解更多自动化测试技术信息资源   请私❤【自动化平台测试开发】

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/581478
推荐阅读
相关标签
  

闽ICP备14008679号