【原文链接】Pytest----测试脚本上传git代码仓库
在企业实战中,自动化测试脚本也要放在代码管理平台的,可以选择第三方公共的git代码托管平台,比如github、gitee等,当然也可以在企业内部搭建gitlab作为代码托管平台,他们的使用方式都是类似的。这里为了后期继续同步优化更新测试框架,同时以学习集成pytest自动化框架为主,因此就以上传github为例进行讲解。
首先在github平台注册一个自己的账号,然后在本地打开cmd窗口,执行如下命令,其中 xxx@163.com为自己的邮箱。然后连续按回车即可。
ssh-keygen -t rsa -C "xxx@163.com"
此时会在用户目录下的.ssh目录中生成私钥和公钥,比如使用administrator用户,则会在C:\Users\Administrator.ssh 目录下生成id_rsa文件和id_rsa.pub文件,其中id_rsa文件内容即为私钥,id_rsa.pub文件内容即为公钥。
然后登录github,点击头像,在下拉表中点击“settings”,如下图所示。
然后点击左侧的“SSH and GPG keys”,然后在右侧点击“New SSH key”,如下图所示。
然后设置标题,标题可以自由命名,再将生成的公钥即id_rsa.pub文件的内容全部拷贝至Key的输入框中,点击“Add SSH Key”,如下图所示。
然后创建代码仓库,点击右上角的“+”,再点击“New Repository”,如图下图所示,开始创建仓库。
然后配置仓库,如下图所示,设置仓库名,填写仓库描述,根据需求设置仓库公开或者私有,这里因为测试框架后续有望继续优化,同时也便于查看,所以选择设置公开,然后Add .gitignore 选项选择Python语言,开源协议这里选择MIT协议,然后点击“Create repository”即可创建仓库。比如这里创建的仓库地址为:
https://github.com/redrose2100/eTest
然后打开代码仓,点击“Code”,在选择“SSH”,然后点击右边的复制按钮,即可复制基于ssh协议的链接了,如下图所示,比如这里是git@github.com:redrose2100/eTest.git
然后在本地打开git bash 窗口通过如下命令即可下载代码仓代码了。
git clone git@github.com:redrose2100/eTest.git
当然这里由于前面已经创建好eTest目录,并且已经在eTest目录中设计好测试框架的基础代码了,因此这里通过git clone 的方式来下载代码仓,而是需要将本地已经存在的eTest目录与github上eTest代码仓关联起来。当然这里有个前提本地已经安装git客户端,若尚未安装,则可以去git官网下载一个客户端,然后双击打开安装,然后所有步骤保持默认即可安装完成。然后在资源浏览器中打开eTest目录,鼠标右键,点击“git bash here”即可打开git命令行窗口,然后将当前仓库初始化为一个git仓库,即执行git init 命令,如下所示:
Administrator@redrose2100-NJ MINGW64 /g/github/eTest
$ git init
Initialized empty Git repository in G:/github/eTest/.git/
Administrator@redrose2100-NJ MINGW64 /g/github/eTest (master)
然后关联通过如下命令关联github仓库,如下通过git remote –v即可看到已经和github上的eTest仓库关联。
$ git remote add origin git@github.com:redrose2100/eTest.git
Administrator@redrose2100-NJ MINGW64 /g/github/eTest (master)
$ git remote -v
origin git@github.com:redrose2100/eTest.git (fetch)
origin git@github.com:redrose2100/eTest.git (push)
Administrator@redrose2100-NJ MINGW64 /g/github/eTest (master)
因为github仓库eTest仓库中由于在创建的时候设置了.gitnore以及README.md文件,即github仓库上已经存在内容了,因此需要首先将github上的内容pull到本地,即执行如下命令:
$ git pull origin master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), 2.26 KiB | 16.00 KiB/s, done.
From github.com:redrose2100/eTest
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
Administrator@redrose2100-NJ MINGW64 /g/github/eTest (master)
此时本地可以看到已经将github仓库上的内容更新到本地了,如下图所示
然后在git命令行执行如下几条命令即可将本地已经设计好的测试框架内容上传到github代码仓了。
git add .
git commit –m “add eTest”
git push origin master
然后在github仓库即可看到已经同步了,如下图所示