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

目录:导读

前言

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

功能需求

技术知识点

技术知识点如表所示

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

开发时间计划

投资回报率可视化

后期优化计划

登录功能实现

退出功能实现

使用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 中,写入如下代码。

from django.shortcuts import render

from django.http import HttpResponse,HttpResponseRedirect from django.contrib.auth.decorators import login_required from django.contrib import auth

from django.contrib.auth import authenticate, login

def login(request): if request.POST:

username = password = ''

username = request.POST.get('username') password = request.POST.get('password')

user = auth.authenticate(username=username, password=password) if user is not None and user.is_active:

auth.login(request, user) request.session['user'] = username response = HttpResponseRedirect('/home/') return response

else:

return render(request,'login.html', {'error': 'username or password error'})

#else:

# context = {}

# return render(request, 'login.html', context)

return render(request,'login.html')

步骤 2 创建向导。

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

urlpatterns = [

path('admin/', admin.site.urls), path('test/', views.test), path('login/', views.login),

# path(r'^home/$', views.home),

]

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

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

"http://www.w3.org/TR/html4/frameset.dtd">

<html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<head>

<title>自动化测试平台</title>

</head>

<body>

<ul class="nav navbar-nav navbar-right">

<li>欢迎您,<a href="#">{{user}}</a></li>

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

</ul>

</body>

</html>

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

def home(request):

return render(request,"home.html")

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

urlpatterns = [

path('admin/', admin.site.urls), path('test/', views.test),

path('login/', views.login), path('home/', views.home), #加入

]

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

<html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<head>

<title>自动化测试平台</title>

</head>

<body>

</ul>

<ul class="nav navbar-nav navbar-right">

<li>欢迎您,<a href="#">{{user}}</a></li>

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

</ul>

</body>

</noframes>

</html>

以及 apitest/views.py 函数,

def home(request):

return render(request,"home.html")

以及 autotest/urls.py urlpatterns = [

path('admin/', admin.site.urls), path('test/', views.test),

path('login/', views.login), path('home/', views.home), #加入

]

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

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

<!DOCTYPE html>

<html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>AutotestPlat</title>

<style> body{text-align:center} </style>

</head>

<body>

<div>

<font size="1">

<h1>《自动化平台测试开发》书</h1>

</font>

<form method="post" action="/login/">

{% csrf_token %}

<br><a>&nbsp;&nbsp;用户名:</a> <input name="username" type="text" placeholder="test" >

<br><br> <a>&nbsp;&nbsp;密 &nbsp;&nbsp; 码:</a> <input name="password" type="password" placeholder="test123456">

<br>{{ error }}<br>

&nbsp; <button style="width:220px;height:28px;" id="submit" type="submit">登 录</button>

</form>

</div>

</body>

</html>

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

退出功能实现

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

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

def logout(request): auth.logout(request)

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。

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

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

结语

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

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

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

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值