自动化测试git的使用

git是一款分布式的配置管理工具。本文主要讲git如何在自动化测试中安装,上传及拉取下载代码。

1 、git 介绍

每天早上到公司,从公司的git服务器上下载最新的代码,白天在最新的代码基础上,编写新的代码,下班时把“代码走查”通过的代码上传到git服务器。jenkins服务器会拉取git服务器的代码,定时自动执行所有的代码。如果有测试用例执行失败,就会给你手机发邮件。第二天上班定位bug

SVN和Git的区别

SVN是集中式版本控制系统,相当于网游,服务器故障,所有人都不能玩。

Git是分布式版本控制系统。相当于可单击,可网游,服务器故障,每个人可以玩自己的单机。

解决了一个单点故障的问题。一方面svn服务器挂掉,会影响比较大。另一方面太多人访问svn服务器,比较繁忙,比较慢。

每个人的电脑 都是 一个完整的版本库

2 、安装步骤

1、打开官网“https://git-scm.com/”

2、点击按钮“download for windows”

3、双击打开Git-2.35.3-64-bit.exe

4、一路下一步,直到安装完成

这个时候检查鼠标右键,有Git的两个菜单就成功了。

3、 git服务器

目前有三个比较出名的git服务器,分别是github、gitee、gitlab。

github:全球很多公司都会把自己的代码上传到github,是代码管理仓库。

gitee:国内模仿github的网站。国内访问github比较慢。所以很多公司都会把自己的代码上传到gitee上。而且gitee的界面是中文界面,更好上手。

gitlab:公司内部搭建的私服。适合不愿意开源,也不愿意给网站缴费的公司。

4、在gitee上注册

1、打开gitee首页,Gitee - 基于 Git 的代码托管和研发协作平台

gitee也叫码云

2、用手机号加验证码登录,并且登陆后还要绑定邮箱,姓名不要用中文注册

用户名“changcheng1211”

3、注册后,需要登录邮箱,点击gitee确认邮件

5、为本地电脑配置用户名和邮箱

1、右键点击桌面,选择git bash here,这时会打开一个linux命令窗口,可以执行linux命令

2、输入命令

git config --global user.name  "在gitee上注册的账户名(其实可以随便写)"

get config --global user.email "在gitee上注册时使用的邮箱"

上传代码时,gitee仓库会记录这些信息,分辨代码时由谁上传的。

执行命令后,在C:\用户\51Testing下面,会生成一个.gitconfig文件,用记事本打开,可以看到你设置用户名和邮箱

打开查看

6、在pycharm中下载插件

在pycharm里面,点击File--Settings--Plugins,点击Marketplace。搜索gitee,点击Install进行安装。

点击Accept

点击ok后重启pycharm.

7、在pycharm中登录gitee

File-->Sttings-->版本控制-->gitee-->点击“+”-->login in via gitee-->分别输入注册的邮箱和密码-->点击登录-->确定

这里登录只能用邮箱登录

8、把当前项目上传到gitee网站上

菜单栏-->VCS-->Share project to Gitee--->点击Share按钮

这里面第一个是项目名,也是远程仓库的名字,下面的是远程仓库的别名,都不用改,点击设为私有按钮(不分享出去,有些不需要分享),点击Share

这里面让我们勾选一些我们要上传的代码。其中一些需要去勾选。

下面要把代码上传到网页上去。不上传.pytest_cache和report和result文件夹中的内容

.idea  这个不是我们写的代码,是创建项目自动生成的。

Image图片必须要分享。留一个文件,不然空文件夹不让上传。

page_objects自己写的要上传。

report测试报告不需要上传。这是运行代码生成的

resouce是我们的excel文件需要上传,

result不上传

test_cases上传

utils上传

geckodriver.log 不上传

pytest.ini 不上传

完成后点击"add"按钮。

右下角有个进度条

然后我们就可以到gitee里面去看一下代码是否上传上去。可见已经传上去了。

遇见问题1:没有勾选文件直接上传,会上传一个空的项目,可以这样重新上传。

可以点击git--Gitee--Share Project on Gitee

修改一下别名

重新去勾选后点击提交。

遇见问题2:报错:Successfully created project 'autoFuncTest2' on Gitee, but initial commit failed: open("resource/~$test_data.xlsx"): Permission denied unable to index file 'resource/~$test_data.xlsx' warning: LF will be replaced by CRLF in test_cases/geckodriver.log. The file will have its original line endings in your working directory

把原来打开的excel文件关掉,并重新上传项目就行了。

9、上传下载

常用命令
    add
        新建文件时,把文件添加到缓冲区
    commit
        把最新的代码提交到本地
    push
        把最新的代码上传到服务器
    pull
        从服务器上拉取最新的代码

这里说一下git文件颜色有的不太一样

白色:和服务器一致的,已经提交过的

绿色:新建的文件,尚未加入版本控制

蓝色:被Git监控到发生了修改

9.1 首先添加一个文件上传

先添加一个py的文件。把文件添加到缓冲区

写好之后,点击提交,这个提交只是把最新的代码提交到本地

必须要添加注释,否则提交不了。

Commit是只提交到了本地,

想要提交到网站,需要用push推送。

可以看到写的注释已经上传到网上了

当然也可以在网页端修改,提交。注意一定要添加注释,不然提交不了

如何把别人写的测试用例也拉下来呢?

比如,别人在修改了代码提交后,点击pull拉去下来。会提示是否要合并,点击ok.

这时就看到一个文件被更新了

点进去就会看到更新的文件。

10、如何从git服务器上拉取项目

进入公司后,老板会把公司现有项目的git地址发给你

https://gitee.com/changcheng1211/autoFuncTest2.git

新建一个项目,打开项目所在的文件夹,关闭pycharm,,把新建的项目文件夹删除,重新打开pycharm,
选择“来自版本控制的项目”-->输入git地址,修改项目路径(确保不重名,如果没有重名项目就不用改),确定即可

新建一个项目

把PyCharm关了

把项目删了。

再打开pycharm,点击Get from VCS

从我们的网址创建项目,要改下项目名,不然重复了。然后点击Clone

这里好了后,需要重新换一下以前的解释器,保证解释器能读取这个项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/712862.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

有趣网站推荐-Rainymood

听着下雨声,内心会平静许多,不知道你是否会有这种感受。 下雨声可以帮助人们放松神经,专注思考,或者只是享受一段安静的时刻,在繁忙的工作和生活间隙。 本期推荐网站Rain Mood 干净简洁的网站,只为听雨声…

C# Winform Chart图表使用和详解

Chart控件是微软自带的一种图形可视化组件,能展示种类丰富的图表形式。如曲线图,折线图,饼状图,环形图,柱状图,曲线面积图。 实例代码链接:https://download.csdn.net/download/lvxingzhe3/8943…

无人机RTMP推流EasyDSS直播平台推流成功,不显示直播按钮是什么原因?

互联网视频云平台/视频点播直播/视频推拉流EasyDSS支持HTTP、HLS、RTMP等播出协议,并且兼容多终端,如Windows、Android、iOS、Mac等。为了便于用户集成与二次开发,我们也提供了API接口供用户调用和集成。在无人机场景上,可以通过E…

numpy的基本操作

1.常用方法创建array print(np.array([1, 2, 3], dtype"f4"))# 32位浮点型 print(np.array([1.5, 2.2, 3]))# 默认浮点型 print(np.array([1, 2, 3, 4, 5], ndmin3))# 3维数组 print(np.array([range(i, i 5) for i in [1, 2, 3]]))# print(np.zeros(shape[5, …

如何部署 Celestia 节点:运行轻节点和全节点

最近几周,Celestia ($TIA) 凭借其模块化数据可用性的基本概念和突破性功能在加密社区引起了轰动。参与网络的方式多种多样,例如将 TIA 与验证器进行质押或在网络上构建应用程序。 用户还可以通过部署节点与区块链进行交互。本指南将解释如何设置和运行 C…

ollama 多模态llava图像识别理解模型使用

参考: https://llava-vl.github.io/ https://ollama.com/blog/vision-models https://blog.csdn.net/weixin_42357472/article/details/137666022 下载: ollama run llava:13bcli使用 图片地址前面空格就行 describe this image: /ai/a1.jpg

<Rust><iced>基于rust使用iced库构建GUI实例:图片的格式转换程序

前言 本专栏是Rust实例应用。 环境配置 平台:windows 软件:vscode 语言:rust 库:iced、iced_aw 概述 本文是专栏第二篇实例,是一个图像格式转换程序,基于rust图像处理库image以及文件处理库rfd。 UI演示&…

分数计算 初级题目

今天继续更题。今天的题目是《第五单元 分数的加减法》初级题目。 定位:题目较为初级,适合预习 参考答案:CACCADACAABACBBCDBCB

day54 动态规划 part10 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

300.最长递增子序列 动规五部曲 1.dp[i]的定义 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 2.状态转移方程 位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 1 的最大值。 所以:if (nums[i] > nums[j]) dp[i] max(dp[i], dp…

C++ 50 之 继承中的对象模型

继承中的对象模型 在C编译器的内部可以理解为结构体&#xff0c;子类是由父类成员叠加子类新成员而成&#xff1a; #include <iostream> #include <string> using namespace std;class Base03{ public:int m_a; protected:int m_b; private:int m_c; // 哪怕是…

【机器学习】Dify:AI智能体开发平台版本升级

一、引言 关于dify&#xff0c;之前力推过&#xff0c;大家可以跳转 AI智能体研发之路-工程篇&#xff08;二&#xff09;&#xff1a;Dify智能体开发平台一键部署了解&#xff0c;今天主要以dify为例&#xff0c;分享一下如何进行版本升级。 二、版本升级 2.1 原方案 #首次…

《2023-2024中国数据资产发展研究报告》

中国电子信息产业发展研究院发布《2023-2024中国数据资产发展研究报告》&#xff08;下称《报告》&#xff09;&#xff0c;紧跟国家战略部署&#xff0c;调研国内数据资产发展现状&#xff0c;掌握数据价值实现路径&#xff0c;助力释放数字经济新动能。 《报告》从数据资产相…

dotnet new 命令详解

一、简介 dotnet new 命令用于基于指定的模板创建新项目、配置文件、解决方案。 二、常用选项 -o, --output <output>&#xff1a;指定创建项目后放置的目录名 示例&#xff1a; dotnet new console -o MyConsoleApp-n, --name <name>&#xff1a;指定项目的名…

操作系统复习-线程同步

互斥量 两个线程的指令交叉执行互斥量可以保证先后执行称为原子性 原子性是指一系列操作不可被中断的特性这一系列操作要么全部执行完成&#xff0c;要么全部没有执行不存在部分执行部分未执行的情况 互斥锁 互斥量是最简单的线程同步的方法互斥锁&#xff0c;处于两态之一的…

上位机能不能替代PLC实现控制?为什么一定要学上位机?

上位机是一个广泛用于自动化控制系统的术语&#xff0c;它通常指的是在自动化控制系统中&#xff0c;用于监控和控制下位机&#xff08;通常是嵌入式系统或者是PLC等&#xff09;的计算机系统。上位机可以通过各种通信协议&#xff08;如RS232、RS485、以太网等&#xff09;与下…

GitLab教程(四):分支(branch)和合并(merge)

文章目录 1.分支&#xff08;branch&#xff09;&#xff08;1&#xff09;分支的概念&#xff08;2&#xff09;branch命令 2.合并&#xff08;merge&#xff09;&#xff08;1&#xff09;三个命令pullfetchmergegit fetchgit mergegit pull &#xff08;2&#xff09;合并冲…

SVN 报错Error: Unable to connect to a repository at URL解决方法

1. 报错背景&#xff1a; 使用ssh 用svn拉取仓库代码时&#xff0c;出现如下报错&#xff1a; Can’t create session: Unable to connect to a repository at URL svn://127.0.0.1 …. Can’t connect to host ‘127.0.0.1’: Connection refused at C:/Program Files/Git/mi…

南师大GIS专业2024排名NO.1!!!

南师大GIS 666 学科专业实力666&#xff0c;研究方向多多多&#xff01; 有学术方向有开发应用方向&#xff0c; 有GIS&#xff08;建模、数字地形、基础理论和三维GIS等&#xff09;、 有Cartography &#xff08;叙事地图、动态地图、地图风格迁移等&#…

自养号测评全揭秘:沃尔玛卖家如何实现销量稳步增长

在沃尔玛这片激烈的商业战场上&#xff0c;我作为一位销售者&#xff0c;深知在这个竞争激烈的市场中&#xff0c;测评对于提升产品排名、权重以及销量的关键作用。随着测评需求的不断增长&#xff0c;我们意识到&#xff0c;寻找可靠的测评服务不再是简单的选择&#xff0c;而…

【刷力扣】23. 合并 K 个升序链表(dummy节点技巧 + 分治思维 + 优先队列)

目录 一、合并升序链表问题二、题目&#xff1a;[21. 合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/description/)1、掌握dummy节点的技巧 三、题目&#xff1a;[23. 合并 K 个升序链表](https://leetcode.cn/problems/merge-k-sorted-lists/descri…