一、什么是测试环境
测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与测试软件交互的软件,包括驱动和桩
测试环境是指为了完成软件测试工作所必需的计算机硬件,软件,网络设备,历史数据的总称
测试环境=软件+硬件+网络+数据准备+测试工具
(硬件和网络一般由公司运维考虑,历史数据由开发或者运维考虑,测试主要做软件的搭建和测试工具的搭建)
二、测试环境的分类
开发环境:开发环境是程序员们专门用于开发的服务器,配置可以比较随意,为了开发调试方便
测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它放到生产机上。
生产环境:是指正式提供服务的,一般会关掉错误报告,打开错误日志。
三个环境也可以说是系统开发的三个阶段:开发–>测试–>上线,其中生产环境也就是通常说的真实环境
三、搭建环境的意义
1、稳定和可控的测试环境,可以是测试人员话费较少的时间就完成测试用例的 执行,也无需为测试用例,测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时间被准确的重现
2、理想环境有利于代码的调试和分析,但测试结果不能视为真实结果
3、掌握搭建测试环境的技能,测试人的综合技能以及薪资能力会有一定程度的提升
四、如何搭建测试环境
1、配置Java环境(下载JDK并配置环境变量)
2、下载并安装配置Tomcat(最后将IDEA或者eclipse的项目打成war包,解压到tomcat目录下的webapp即可)
3、安装mysql并导入sql(注意:mysql客户端和服务端编码设置,必须设置完再导入sql)
4、项目导入并修改数据库连接配置
5、启动mysql,启动Tomcat,访问既可
五、实际操作
在虚拟机上操作为例:
首先环境准备:
Linux jdk tomcat mysql
1、Linux系统
本文以centos7为例
安装方法可以参考:centos7安装方法
虚拟机安装好的CentOS7系统,查看ip时没有ip怎么办呢?
第一步:打开ens33网卡的配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33
第二步:把ONBOOT=no改成ONBOOT=yes,如下:
第三步:然后重启网络服务: sudo service network restart
2、JDK下载安装
可以通过官网下载,此文以JDK1.8为例
下载到本地之后,可以使用SFTP等工具上传Linux系统
我的存放到了 /usr/local/tools/ 下,安装工具都放到了这里。
- 1、使用xshell连接Linux,在/usr/local目录下,执行命令mkdir tools,创建tools目录
- 2、进到tools查看上传的安装包(如果是压缩包,先进行解压),使用rpm命令安装
- 3、安装好JDK后需要配置环境变量
进入到/etc目录,执行命令vi profile,进入编辑模式
在文本末尾添加以下配置项
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
注意JAVA_HOME的路径是你实际安装在Linux里面目录,查看JDK的安装路径,(一般默认的路径:/usr/java/jdk1.8.0_131)
编辑完后,按ESC退出编辑模式,输入:wq,保存退出
退出之后重启配置项,输入命令source /etc/profile
这个时候可以查看JDK版本,输入java -version
三、下载安装Tomcat
同样也可以在官网下载
首先进入到/usr/local/tools目录,创建新目录,输入命令mkdir tomcat,
进入到tomcat目录,cd /usr/local/tools/tomcat
使用xftp上传压缩包到Tomcat目录下,然后解压安装包,tar -xzvf apache-tomcat-8.5.41.tar.gz,开始解压
解压完成后,需要重启tomcat,进入到解压后目录下的bin目录,命令cd /usr/local/tools/tomcat/apache-tomcat-9.0.24 /bin
然后输入命令./ startup.sh重启服务
重启结束后,可以在本地浏览器输入http://ip:8080/,观察是否跳转到tomcat主页,如果有,则安装成功
例如
如果网页打不开或者无响应,可能是8080端口没有开放,这个时候需要开放端口,
输入命令 firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙 firewall-cmd --reload
到此,输入命令firewall-cmd --zone=public --list-ports 查看端口是否开放,显示有8080便是成功
修改端口的方法:
conf目录下面的server.xml文件,用记事本打开,滚动到下面这个位置,8181就是我的Tomcat的端口号了。当然这些是可以修改的,不过要防止和其他应用的端口发生冲突,尽量使用1024以上的。
双击bin目录下的start.bat文件,开启Tomcat,再在直接浏览器上输入http://localhost:8181/,这里8181的端口号要改成你在server.xml文件下设置的一致才行。
这样tomcat安装结束
四、MySQL安装
用yum命令安装
1、下载yum源:
mysql常用命令
检查是否已经安装过mysql,执行命令:rpm -qa | grep mysql
删除已经安装了的已经安装了mysql-libs-5.1.73-5.el6_6.x86_64:rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
查看端口占用:netstat -tunlp|grep 3306
查询所有Mysql对应的文件夹:whereis mysql
删除相关目录或文件:rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
检查mysql用户组和用户是否存在,如果没有,则创建:
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
2、安装yum源
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
3、查看有哪些版本的mysql:
yum repolist all | grep mysql
4、安装
yum install -y mysql-community-server
5、启动mysql,要知道在centos7中,没有了service命令,都是使用systemctl命令。注意启动的时候是start mysqld而不是mysql。(而在centos6中,使用service mysqld start)
systemctl start mysqld
- 运行该命令,发现无法启动,然后使用systemctl status mysqld查看状态,提示如图
- 在网上寻得,发现是/var/lib/mysql /这个目标路径已经存在/var/lib/mysql /,导致无法初始化。
- 解决办法:
rm -rf /var/lib/mysql
然后在使用:
systemctl start mysqld
查看状态
systemctl status mysqld
如图所示,已经成功安装
6、登录数据库,修改数据库密码
mysql5.7的新特性之一就是在初始化的时候会生成一个自定义的密码,然后你需要找到这个密码,登录的时候输入。注意,输入密码的时候是不显示。
找到密码: 红框的地方就是密码
grep 'temporary password' /var/log/mysqld.log
登录数据库:这里-p之后不用输入密码,回车后再输入。改过密码之后登录则是直接在-p后加密码了。
- 如果获取不到密码,vim /var/log/mysqld.log 发现也是空文件,试过一些方式不行,也是决定修改配置文件,跳过密码校验,方法如下:
修改my.cnf文件
vim /etc/my.cnf
添加:
skip-grant-tables
重启mysql:
systemctl start mysqld
登录就不需要密码了:
mysql -u root
update mysql.user set password=password('root') where user='root';
清除并退出
flush privileges;
修改my.cnf,把之前添加的删除保存,并重启mysql,就看一使用密码登录了
mysql -uroot -p
输入日志打印的密码登录到MySQL
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root123’;
如果密码设置太简单出现以下的提示
这里可以修改两个全局参数:
首先,修改validate_password_policy参数的值
set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就可以了
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
测试修改后的密码,退出MySQL,输入命令root -u root -p123456,看能否登录
授权其他机器登陆
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
此处用:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’;
刷新
FLUSH PRIVILEGES;
至此,MySQL安装完毕
可以在本地用Navicat连接数据库
如果连接不上,查看3306端口是否开放,进入/etc/sysconfig,
安装iptables,输入命令yum install iptables-services
修改该目录下的iptables,在标注的那一行下面添加一样的语句,22改成3306
添加之后
然后重启,输入service iptables restart,这样就可以连接数据库
如果提示:
因为是直接使用 SQL 语句的方式来删除账户,所以必须先选择 mysql 自身的数据库:
use mysql;
5、安装项目包
将IDEA或者eclipse的项目打成war包,解压到tomcat目录下的webapp即可
具体的操作参考Tomcat部署web项目
解压的方法安装待完善
1、先上传mysql到Linux,我是在tools目录下创建了一个mysql文件,解压到该文件夹下
2、创建用户组和该用户组下的用户
groupadd mysql
useradd -r -g mysql mysql
3、赋权(让该用户组和用户对mysql文件夹具有操作权限)
cd /usr/local/tools/mysql/ 先进到该该文件下
chgrp -R mysql . 用户组赋权
chown -R mysql . 给用户赋权
4、判断/etc/my.cnf文件是否存在,如果存在则删除
ls etc/my.cnf 查看是否存在
存在就删除 rm my.cnf
5、初始化数据库
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/tools/mysql/data/mysql
如果提示没有权限,我是直接给改文件可执行的权限,如图
如果提示:-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
执行:
yum -y install perl perl-devel
yum install -y perl-Data-Dumper
如果提示如图
网上说使用:/usr/local/tools/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/tools/mysql --datadir=/usr/local/tools/mysql/data
6、复制mysql全局文件,将初始化生成的全局文件,复制到/etc/my.cnf
cp support - file/my-default.cnf /etc/my.cnf
7、复制启动文件
cp support-files/mysql.server /etc/rc.d/init.d/mysql
8、启动mysql服务
service mysql start
9、添加软连接
ln -s /usr/local/tools/mysql/bin/mysql /usr/bin/mysql
10、操作数据库,默认没有密码
mysql -u root -p
11、修改数据库
update user set password=password(‘123456’) where user=‘root’;
12、刷新权限
flush privileges;
13、window连接服务器数据库,连接不上有两个原因
- 1、没有开放3306端口
- 2、user表中没有授权’%’
- GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
- 3、刷新
FLUSH PRIVILEGES;
补充mysql的用到的语法:
跳过密码(在跟目录下的my.ini里面的mysqld 下面加上这句,然后重启服务器)
skip-grant-tables
登录命令
mysql -u root -p
查看用户,地址,密码信息(高版本的使用password)
select user,host,authentication_string from user;
设置可以远程访问
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’;
删除用户
delete from mysql.user where user=‘a1’;
刷新
flush privileges;