官方地址: https://gitee.com/season-fan/autometer-api 
描述:
AutoMeter是一款针对分布式服务,微服务API做功能和性能一体化的自动化测试平台,一站式提供项目管理,微服务,API接口,
用例,环境管理,测试管理,前置条件,测试集合,变量管理,测试计划,Mock,测试报告等。

Linux安装自动化测试工具AutoMeter_自动化测试

在项目开发,迭代交付过程中开发人员,测试人员需要针对系统微服务API做调试,回归测试,性能测试。自动化测试,一个好的平台本质上需要解决API测试的5大基本问题:

支持不同的项目,角色,技术人员多人协作
支持定义多个不同的测试环境
支持定义各种被测系统,API,功能,性能用例
支持功能,性能,回归,自动化测试,对比
功能/性能明细报告,统计报告,通知

需要部署的内容:

1.前端:testcenterapp
2.后端:testcenterService,dispatchservice,conditionservice,slaverservice 。

整体目录结构在Release/v1.0/AutoMeter下面,如图:

Linux安装自动化测试工具AutoMeter_自动化测试_02

部署所需要的基础环境系统的版本如下:

操作系统:Linux或者Windows
1.jdk 1.8
2.redis 5.0.8
3.mysql 5.7
4.nginx 1.9.9

具体每一项的部署方式如下:

一.  数据库初始化

  1. Mysql新建数据库testcenter,(  准备好账号和密码,例:root,123456 后端服务连接数据库需要使用),执行初始化 testcenter.sql( Release/v1.0/AutoMeter/sql/init-sql/testcenter.sql 目录下)。

Linux安装自动化测试工具AutoMeter_自动化测试_03

AutoMeter 后续迭代版本的更新,提供增量的SQL文件来执行,在目录 Release/v1.0/AutoMeter/sql/update-sql中,可以按照日期文件依次执行。

二.  Redis

  1. redis配置文件redis.conf中将protected-mode =no,表示免密码登陆,程序连接redis都没使用密码。

三.  前端:目录testcenterapp/dist,建议部署在Nginx中

  1. 配置文件:testcenterapp/dist/static/config.js中配置项SERVER_URL为指向后端TestCenterService的地址,可以根据自己实际的地址修改,如下图:

Linux安装自动化测试工具AutoMeter_自动化测试_04

  1. 配置nginx.conf中的http.server.location.root配置dist的存放服务器目录,例如:/app/AutoMeter/dist/ dist为admin打包出来的静态文件目录
  2. nginx重启,nginx -s relaod

4. 访问nginx的端口,既可以访问到后台页面 :

Linux安装自动化测试工具AutoMeter_自动化测试_05

四.  后端服务

后端服务的jar都已经移动到 https://gitee.com/season-fan/autometer-api/releases/v1.0 请根据发行版中的描述,将jar包都复制到自己对应的目录 。

!注意 https://gitee.com/season-fan/autometer-api/releases/v1.0 地址下载jar包并注册gitee账号。

Linux安装自动化测试工具AutoMeter_自动化测试_06

后端service目录结构,每个 service目录下有 jar,config 目录,startup.sh 为启动文件,启动文件startup.sh需要修改下脚本指定下自己部署的目录

Linux安装自动化测试工具AutoMeter_自动化测试_07

TestCenterService 测试中心服务,配置文件:config/application.yml中的配置项(6项配置):

spring.dispatchserver.serverurl 指向调度服务DispatchService的地址和端口 。
spring.conditionserver.serverurl 指向条件服务ConditionService的地址和端口 。
spring.datasource.url/username/password 配置Myslq数据库的连接字,账号,密码(账号和密码配置项是加密后的字符串),默认是test/test, 需要修改的话可以运行test目录下的JasyptStringEncryptor 如下图 配置你需要的明文账号和密码(test,test),运行结果中加密串就是配置文件中的账号和密码,新账号在mysql中要建好对应的账号和密码,以及赋此账号对于testcenter库的读写访问权限。
spring.redis.host/port 配置redis的ip和端口。
spring.logging.file/path 配置日志文件名以及日志文件目录。
启动:执行startup.sh。

DispatchService 调度服务
配置文件:config/application.yml中的配置项(3项配置)

spring.conditionserver.serverurl 配置指向条件服务ConditionService的地址和端口
mysql,redis,logging三项配置和TestCenterService相同
启动:执行startup.sh

ConditionService 条件服务
配置文件:config/application.yml中的配置项(4项配置)

mysql,redis,logging三项配置和TestCenterService一致
启动:执行startup.sh

SlaverService 条件服务
配置文件:application.yml中的配置项(3项配置)

mysql,redis,日志三项配置和TestCenterService一致
启动:执行startup.sh

MockService 条件服务
配置文件:application.yml中的配置项(3项配置)

mysql,redis,日志三项配置和TestCenterService一致
启动:执行startup.sh

五:  启动顺序

数据库,redis
SlaverService
ConditionService
DispatchService
TestCenterService
MockService
启动nginx,nginx -s reload
访问nginx的地址,默认管理员账号密码为,admin admin123 登录

Linux安装自动化测试工具AutoMeter_自动化测试_08

问题:

  1. 数据库信息:

Linux安装自动化测试工具AutoMeter_自动化测试_09

  1. 登录不进去前端页面:

Linux安装自动化测试工具AutoMeter_自动化测试_10

报错如下:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.zoctan.api.core.exception.ServiceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'nickname' in 'field list' ### The error may exist in com/zoctan/api/mapper/AccountMapper.java (best guess) ### The error may involve com.zoctan.api.mapper.AccountMapper.selectOne-Inline ### The error occurred while setting parameters ### SQL: SELECT id,email,name,nickname,password FROM account WHERE name = ? ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'nickname' in 'field list' ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'nickname' in 'field list'

解决方法:

根据异常信息来看,出现了一个数据库查询错误。错误信息显示在查询语句中指定的字段列表中找不到'nickname'列。

这个问题通常是由于数据库表中没有'nickname'列造成的。要解决这个问题,您可以按照以下步骤进行操作:

  1. 确认数据库表结构:检查名为'account'的表中是否存在'nickname'列。您可以使用数据库管理工具(如phpMyAdmin)或MySQL命令行工具执行以下命令来查看表结构:
DESC account;

这将显示'account'表的结构,包括列名和数据类型。

  1. 如果'nickname'列确实缺失,您可以通过以下步骤添加该列:
    a. 执行以下命令打开MySQL命令行:
mysql -u root -p  # 系统会提示您输入MySQL root用户的密码。

    b. 输入密码后,按Enter键登录到MySQL服务器。

    c. 运行以下命令以添加'nickname'列:

ALTER TABLE account ADD COLUMN nickname VARCHAR(255);

  这将在'account'表中添加一个名为'nickname'的VARCHAR类型列,长度为255个字符。

    d. 重新运行您的应用程序,检查是否还会出现同样的异常。

确保数据库表结构与应用程序的映射是一致的可以解决这个问题。如果问题仍然存在,请检查应用程序中是否存在其他地方使用了'nickname'字段,或者在映射文件中是否正确指定了表和列名。

Linux安装自动化测试工具AutoMeter_自动化测试_11

官方地址:https://gitee.com/season-fan/autometer-api

相关安装文档参考:

Nginx: https://blog.csdn.net/yangshuai518/article/details/130752116

Jdk:https://blog.csdn.net/yangshuai518/article/details/130752116

Redis:   https://blog.csdn.net/weixin_44639164/article/details/122272480

MySQL:  https://blog.csdn.net/zwq56693/article/details/120252120

报错:https://blog.csdn.net/Wing_kin666/article/details/110921440