UAG自动化总结
一:网络结构
俩台UAG环境:
一台开发机:
console_120_216_env1,也就是用来开发脚本,和执行脚本的机器。同时也可以作为web自动化的执行机
Client01_120_217:
Server01:
Server02:
在server01不能满足当前的情况下,使用server02
如果以后加入到自动化组,优先把网络结构和网络配置好,有问题(高建帅,李宁宁,孙彦斌)
二:编辑器配置
https://developer.aliyun.com/article/875037
1.配置deployment
Tools—->Deployment—->Configuration
选择FTP配置对应的host user name password ,然后test Connection,输入root path,也就是工程路径
2.配置好入下图:
代表连接成功,可编辑,编辑完之后,记得同步,点击右上角的upload按钮
3.执行脚本也不用直接去linux端去执行了,直接在Tools—->Start SSH Session
4.直接就在这里去执行我们的脚本即可
三:框架代码介绍
bin目录:是火狐浏览器驱动
conf目录:使我们所有服务器以及UAG、虚拟站点、数据库等配置
lib目录:一些底层的框架方法
ag.py: uag的连接、cli控制台下发命令、业务方法等封装
Webelement.py:webui操作等封装
config.py:初始化配置的方法
log.py:断言方法
mysqldb.py:生成报告保存在数据库中
Err_list.py:失败用例保存方法
Lists目录:存放失败用例
Report:存放最近一次执行结果
Smoke_test目录:就是自动化脚本存放地址
四:编写脚本
1.缩进只能用空格缩进,要不执行脚本会报错
2.使用到那个方法就加载那个方法,用不到的就不需要加载,提高脚本执行时间
Web,c1_web,c1_cli,AG0,AG1
比如:
def test_5201030201(AG0, configer, logger, c1_web):
模板如下:
#-- encoding: utf-8 --
#########################################################
#Filename : 5201010101.py
#Author : gaojs
##########################################################
import pytest
from time import sleep
#####################################################################################
“””
case:5201010101
action:
aaa server name ?
expect result:
显示:
Server type, can only be samlsp/radius/ldap/http/localdb/certificate/sms
“””
#######################################################################################
def test_5201010101(AG0, configer, logger):
AG0.config_cmd(‘virtual site name automation_test’)
AG0.config_cmd(‘virtual site ip automation_test %s’ % (configer.sites[0]))
AG0.config_cmd(‘sw automation_test’)
result=AG0.config_cmd(‘aaa server name ?’)
print(result)
logger.found(r’Server type, can only be samlsp/radius/ldap/http/localdb/certificate/sms’, result)
####
五:执行脚本
1.执行脚本前,要去client01中,启动selenium,java -jar selenium-server-standalon*
2. 执行脚本命令
1.执行所有http目录下的用例:
2.执行单个用例:(复制一个run.py文件,然后编辑一下要跑的用来)
六:测试报告和测试记录
测试记录:
查看地址:
[192::1:192]/cgi-bin/test_report.pl?build=AG_10_0_4_10_gaojs
七:git操作
https://www.runoob.com/git/git-basic-operations.html
配置用户名和密码:
git config —global user.email zhen24
git config —global user.name zhen24
查看用户名:
git config —get user.name
查看列表(使用最后一个):
列表:git config —list —global
单个:git config —get user.name
删除一个用户名:
多个需要指定:git config —global —unset user.name zhen24
一个不需要指定:git config —global —unset user.name
修改用户名:
git config —global user.name zhen
git 使用hash来唯一标识对象
获取仓库:
1、git init
eg:git init first_init
2、git clone http://xxxxx
三个区:工作区(working)、暂存区(staging)、历史仓库(history)
git add 文件名 :添加文件到暂存区 eg:添加整个文件:git add -A
git commit -m ‘添加的说明’:提交到暂存区
注:修改commit的提交说明,git commit —amend
git push -u origin master :将代码推送到远端,强制覆盖远端使用这:git push -u origin master -f
git status :查看工作区和暂存区的区别
git mv 命名a 命名b :重命名或移动
git rm 文件名:删除文件
git rm —cached 文件名:删除暂存区的文件
git branch 分支名:创建分支
git checkout 分支名:切换分支
创建tag:
git tag tag名 hash(默认当前的分支的hash)
git tag -a ‘tag名称’ hash(默认当前的分支的hash)
查看tag:
git tag
查看历史示意图:
git log —oneline —decorate —graph —all
起别名:git config —global alias.lol ‘log —online —decorate —graph —all’ 其中lol为别名
之后使用:git lol
切换分支前保存当前分支的工作:
git stash save -a ‘stash1’
查看保存的分支列表:
git stash list
还原之前保存的内容:
git stash pop —index stash@{0}
合并分支:
git merge 分支名
放弃合并:
git merge —abort
git show hash/head:显示最新的提交信息
git show master 第一个父提交
git show master^2 第二个父提交
显示简短的提交:
git show —format=%T master^2
显示完整的信息:git log
git log -p :输出每一个commit之类的差异信息
git log —stat :输出每一个commit之类的差异的统计信息
git log —oneline :输出单行信息
查看历史示意图:
commit引用的信息 显示所有信息
git log —oneline —decorate —graph —all
图形化的信息
显示工作区与暂存区的区别:git diff
查看暂存区和历史提交的差异:git diff —cached [可加hash]
比较不同提交版本的差异:git diff HEAD HEAD^2 —master.txt
显示单词的差异:
git diff —color-words
git diff —word-diff
git checkout — master.txt:用暂存区的内容覆盖工作区的内容
git reset 文件名(master.txt):忽略差异
使用历史的文件覆盖工作区的内容:git checkout HEAD — master.txt
git clean