当前位置: 首页 > 工具软件 > sosotest > 使用案例 >

sosotest--自动化测试平台环境离线搭建(三)

常哲彦
2023-12-01

目录

1.背景

D.Python的安装

附录一:问题


1.背景

大结局上演之前,还是照例回顾一下前面两回:先后介绍了sosotest平台搭建中2个重要的组件MySQL和Redis。

在准备好了这些技术设施后,距离正题只剩最后一公里,那就是Python及其依赖包的安装,最后到sosotest的配置和启动。

D.Python的安装

1)推荐版本:v3.6.5。这里通过yum安装即可。

2)安装Python依赖包

实际操作中,这里的依赖包并不止github上官方文档所述的两个(大约是环境各异,所以这里就以本作者的亲测安装经历为示范了O(∩_∩)O)

# yum install -y openldap-devel openldap-clients python-devel python-ldap python2-ldap3.noarch python36-ldap.x86_64 python36-ldap3.noarch

3)将下载sostest的源码包加压到/home/sosotest/sosotest-master,这个目录即下文提到的工作目录根节点,简称根节点。

4)安装依赖文件

# cd /install
# pip3 install -r require.txt -i <python源> --truested-host <源IP>

5)修改配置文件

切换到根节点,参考文中注解做修改

#通用配置
[COMMON]
# 强行转码的支持的编码列表。没有特殊情况无需修改
support_charset = UTF8,UTF-8,GBK,GB2312

#当一个接口的响应RESPONSE是文件下载(非文本)时,显示在报告中或者调试结果中的字节码最大文本长度。没有特殊情况无需修改
file_max_show_len = 4000                   

#django web请求允许的请求地址列表,可以是域名或者ip。<这里需要增加sosotest的安装地址的IP>
allowed_host =  ["127.0.0.1","test.mydomain.com"]    

#一级菜单的描述
groupLevel1 = 业务线                        

#二级菜单的描述
groupLevel2 = 模块                          

#登录方式,LADP 还是 SYSTEM
loginType = LDAP                           

###菜单menu显示相关 #1代表显示,0代表屏蔽菜单
showMenuConfig = {"HttpInterface":1,"DubboInterface":1,"StatisticTask":1}    

[LDAP]
#如果loginType = LDAP,就需要正确配置此处的ldap信息,如果loginType = SYSTEM,此处可以忽略
AUTH_LDAP_SERVER_URI = ldap://yourldapserver.com:389
AUTH_LDAP_BIND_DN = CN=ldapauth,OU=Sysusers,DC=ustaff,DC=com
AUTH_LDAP_BIND_PASSWORD = xxxxxxxxxxxxxx
AUTH_LDAP_USER_ATTR_MAP = {"first_name": "cn","email": "mail"}
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("OU=mailground,DC=ustaff,DC=com",ldap.SCOPE_SUBTREE, "(objectClass=group)" )
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="CN")
AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(
        LDAPSearch('ou=XXX,dc=xxxxx,dc=com', ldap.SCOPE_SUBTREE, "(&(objectClass=person)(sAMAccountName=%%(user)s))"),
    )

#自动化测试平台配置信息
[SITE]
#站点名称
site_name = sosotest
#后台管理头信息
header = sosotest自动化测试平台管理系统
#后台管理title
title = sosotest自动化测试平台管理系统
#自动化平台版本号,用于报告和请求的User-Agent显示。
framework_version = sosotest-AutotestPlatform-v2.2

#自动化平台的目录信息,一般情况不需要改动
[DIR]
root = sosotest_opensource
#执行程序跟目录,也可以理解为执行框架目录。
framework = AutotestFramework
#django web服务目录,django的根目录
web = AutotestWebD
#UI框架服务目录
uiFramework = RobotUiTest

# 正确的生产环境目录,用来判断当前是否是生产环境。
# 如果目录匹配,那么使用生产环境配置
# 如果目录不匹配,使用对应的useTag的测试环境配置
releaseRoot = D:/000lianjiacodes/sosotest_opensource    # <源码所在地址,即/home/sosotest/sosotest-master>

# 判断使用如下的那个配置,如果root目录与releaseRoot一致,那么useTag无效,必须使用生产环境配置
# 否则useTag生效,使用指定的useTag的配置。
useTag = TEST01

#生产环境配置
[DB]
#数据库配置
host=127.0.0.1
port=3306
username=root
password=Root.1234            # <数据库密码>
dbname=sosotest_data
[TCP]
#master的ip和端口配置
#master的ip
host=127.0.0.1
#master监听的请求的端口
port=9298
#ui测试服务的监听端口(暂未开源)
uiport=8298
#master的ftp 服务的端口
ftpport=6299
[WEB]
#web服务的域名配置
uri = http://test.sosotest.com
#调试模式开关 True of False
debug = True
[EMAIL]
#email发送邮件配置
sender = test@163.com
smtpserver = smtp.163.com
username = fateuser
password = fatepassword
[REDIS]
#缓存配置
host=127.0.0.1
port=6379
password=
[DIRFILE]
#上传下载的文件以及log的粗放目录,需要手动创建目录,且给予读写权限,不然启动会报错!
filepath = /data0/release/sosotest_files        # <文件目录的根目录。如,/home/auto/sosotest>
#默认的log目录
log = rootlog                                   # 存放日志的相对路径。完整路径即filepath + log 
#uploads的目录
uploads = uploads                               # 存放上传文件的相对路径。完整路径即filepath + uploads 
#reports的目录
reports = reports                               # 存放报告的相对路径。完整路径即filepath + reports

6)初始化

# cd 根节点/AutotestWebD/apps/scripts/initial
# python3 manage.py migrate

7)初始数据库数据

# python3 A0000_init_myadmin_account.py
# python3 A0000_init_myadmin_add_adminManagePermissionData.py
# python3 A0000_init_tb_exec_python_attrs.py
# python3 A0000_init_sources.py
# python3 A0001_init_permission_data.py

8)启动相关工程

a.启动django。若出错参考附录。

# python3 AutotestWebD/manage.py runserver 0.0.0.0:8000

b.启动master服务

# python3 AutotestFramework/test_run/main.py

c.启动slave服务

# python3 AutotestFramework/test_run/run.py

附录一:问题

1.启动django时报错:django.db.utils.OperationalE(1130, "Host '*.*.*.*' is not allowed to connect to this MySQL server")

解决方法如下:

# mysql -uroot -pcloudos

mysql> use mysql;

mysql> update user set host='%' where user='root';

参考:https://blog.csdn.net/wang603603/article/details/104015607

 类似资料: