• Linux下搭建自动化测试环境


    一. 登陆阿里云服务器

    测试环境使用的阿里云linux服务器,CentOS7.8版本

    1. 购买阿里云服务器后,登陆ECS控制台,查看云服务器ECS

    2. 点击购买的实例,进入实例详情,可查看到服务器基本信息(CPU,内存,操作系统,带宽)

    3. 通过点击更多按钮,编辑实例属性(实例名称和HostName)

    4. 通过点击更多按钮,重置实例密码(此操作需要手机短信验证)

    5. 重启实例

    6. 根据实例详情中提供的公网IP地址,登陆root账号

    # 查看磁盘大小
    df -h
    # 查看CentOS版本
    cat /etc/redhat-release

    二. 常用工具安装与规则说明

    2.1 通过yum安装的工具

    # 实现windows和linux下拖拽传输文件
    yum install lrzsz
    # 解压zip包工具
    yum install -y unzip zip

    2.2 如果需要通过源码安装程序,源码包统一存在路径为: /opt/pkg

    2.3 源码安装程序的基本思路

    # 大体分为五个步骤:
    1. 下载源码(通过wget去下载)
    2. 安装编译依赖包(yum方式安装)
    3. 编译源码(解压和安装)
    4. 添加软连接(将命令添加到/usr/bin目录下)
    5. 验证命令是否安装成功

    三. 常用软件的安装

    3.1 安装python3.6环境

    3.1.1 源码安装python3.6

    # 步骤1: 下载python3源码包
    cd /opt/pkg && wget http://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
    # 步骤2: 安装编译依赖包
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
    # 步骤3: 编译源码
    xz -d Python-3.6.4.tar.xz && tar -xf Python-3.6.4.tar && cd Python-3.6.4
    ./configure prefix=/usr/local/python3 && make && make install
    # 步骤4: 创建软连接
    ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
    ln -s /usr/local/python3/bin/pip3.6  /usr/bin/pip3
    # 步骤5: 验证python3命令是否安装成功
    python3 --version
    pip3 list

    注意事项:

    1) 在编译源码中,如果出现了如下报错内容,则需要修改Setup.dist文件后重新编译

    ModuleNotFoundError: No module named '_ssl'
    # 修改/opt/pkg/Python-3.6.4/Modules/Setup.dist文件,将以下这段已注释的代码,去掉注释
    SSL=/usr/local/ssl
    _ssl _ssl.c 
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl 
        -L$(SSL)/lib -lssl -lcrypto

    3.1.2 配置国内pip源

    # 创建文件: rm -rf ~/.pip && mkdir ~/.pip && vim ~/.pip/pip.conf
    [global]
    timeout=6000
    index-url=http://pypi.douban.com/simple/
    
    [install]
    trusted-host=pypi.douban.com

    3.1.3 安装配置python3的虚拟环境

    # 步骤1: 安装虚拟环境包
    pip3 install virtualenv
    pip3 install virtualenvwrapper
    ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
    # 步骤2: 修改/usr/local/python3/bin/virtualenvwrapper.sh文件
    将 VIRTUALENVWRAPPER_PYTHON="$(command which python)" 改为 VIRTUALENVWRAPPER_PYTHON="$(command which python3)"
    # 步骤3: 给当前用户配置虚拟环境, 在~/.bashrc文件后追加如下内容
    export VIRTUALENV_USE_DISTRIBUTE=1
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenvwrapper.sh
    export WORKON_HOME=$HOME/.venv
    source /usr/local/python3/bin/virtualenvwrapper.sh
    # 步骤4: 加载用户配置
    source ~/.bashrc
    # 步骤5: 常用操作
    cd ~/.venv
    virtualenv --python=/usr/bin/python3 automation_test
    workon automation_test
    pip3 list
    deactivate

    注意事项:

    1) 在加载用户配置时,如果出现如下报错内容,则需要升级pip和setuptools

    # 报错信息如下:
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-e8v4jw65/virtualenvwrapper/
    # 升级pip和setuptools
    python3 -m pip install --upgrade --force pip
    pip3 install --upgrade setuptools

    3.2 安装git命令或升级git命令

    # 步骤1: 如果已源码安装过git,请先卸载老版本
    yum remove git
    # 步骤2: 下载git源码包
    cd /opt/pkg && wget -O git.zip https://github.com/git/git/archive/master.zip
    # 步骤3: 安装编译依赖包
    yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel autoconf
    # 步骤4: 编译源码
    unzip git.zip && cd git-master
    autoconf
    ./configure prefix=/usr/local/git && make && make install
    # 步骤5: 创建软链接
    ln -s /usr/local/git/bin/git /usr/bin/git
    # 步骤6: 校验git是否安装成功
    git --version

    3.3 安装Java1.8环境(rpm安装)

    # 下载java的rpm包: jdk-8u191-linux-x64.rpm
    Oracle官网下载JDK需要账号登陆,百度云下载地址:https://pan.baidu.com/s/1k6siJHNcxo1Fkbv6yYTFlA  提取码:3p6v
    下载完成后,将rpm文件拷贝到/opt/pkg目录下
    # 安装java rpm -qa|grep java # 如果已存在java内容,先卸载老版本内容: rpm -e --nodeps xxx rpm -ivh jdk-8u191-linux-x64.rpm
    # 查看安装目录
    ll /usr/java/jdk1.8.0_191-amd64
    # 设置java环境变量: 将环境变量追加到/etc/profile文件中
    export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64
    export JRE_HOME=/usr/java/jdk1.8.0_191-amd64/jre
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    # 验证java版本 javac -version
    java -version

    3.4 搭建SMB服务

    目的:实现Windows与Linux之间文件共享

    3.4.1 搭建SMB服务

    # 安装smb服务
    yum install samba samba-client samba-common
    # smb的配置文件路径
    cat /etc/samba/smb.conf
    # 查看SELinux的状态,期望SELinux status: disabled
    sestatus
    # 添加一个用户
    useradd share
    # 给share用户设置smb密码
    smbpasswd -a share
    # 创建smb目录
    mkdir -p /samba/share
    # 赋予smb目录文件权限
    chmod -R 755 /samba/share
    # 赋予smb目录所有者权限
    chown -R share:share /samba/share
    # 在/etc/samba/smb.conf文件中,追加写入
    [share]
        path = /samba/share
        browseable = yes
        writable = yes
        valid users = share
    # 保存内容
    testparm
    # 启动smb服务,并设置smb服务为开机自启动
    systemctl start smb.service
    systemctl enable smb.service
    systemctl status smb.service
    # 关闭防火墙,并设置开机自动关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld.service

    3.4.2 在windows下设置映射网络驱动器

    计算机----映射网络驱动器----输入smb文件夹地址(如:\127.0.0.1share)----输入smb的账号密码----点击完成

    注意事项:

    1. 如果使用的是阿里云,需要在安全组访问规则中开放出137,138,139,455端口

    3.5 Jenkins Slave机环境部署

    3.5.1 使用root账号添加一个jenkins账号,并赋予sudo权限

    # 切换至root账号
    adduser jenkins
    passwd jenkins
    chmod 777 /etc/sudoers
    vim /etc/sudoers, 文件尾部加入: jenkins ALL=(ALL) ALL
    chmod 440 /etc/sudoers

    3.5.2 切换至jenkins账号,给当前用户配置国内pip源,并配置py3虚拟环境(请参考3.1内容)

    # 创建python3虚拟环境
    cd ~/.venv
    virtualenv --python=/usr/bin/python3 test_automation
    # 在虚拟环境下安装第三方包
    workon test_automation
    pip3 list
    pip3 install requests
    pip3 list
    deactivate
    # 虚拟环境下,python3的解释器路径 /home/jenkins/.venv/test_automation/bin/python3

    3.5.3 切换至jenkins账号,配置ssh公钥(git安装请参考3.2内容)

    # 清理信息
    rm -rf ~/.gitconfig ~/.ssh
    # 生成ssh公钥,执行命令后如果遇到有交互提示信息,直接按Enter即可
    ssh-keygen -t rsa -C "dj@reconova.com"
    # git的用户配置
    git config --global user.name "dj"
    git config --global user.email "dj@reconova.com"

    注意事项:

    1. 如果需要使用gerrit下载代码,需要将 ~/.ssh/id_rsa.pub 下的内容拷贝到gerrit网站中的settings下的SSH Public Keys

  • 相关阅读:
    test
    封装和构造方法
    面向对象
    数组的排序
    UDP编程(八)
    多的是面向对象你不知道的事
    面向对象组合的使用
    类成员的进一步阐述
    面向对象初始
    吾日三省吾身
  • 原文地址:https://www.cnblogs.com/reconova-56/p/13941753.html
Copyright © 2020-2023  润新知