自动化测试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

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

相关文章:
自动化测试git的使用
git是一款分布式的配置管理工具。本文主要讲git如何在自动化测试中安装,上传及拉取下载代码。 1 、git 介绍 每天早上到公司,从公司的git服务器上下载最新的代码,白天在最新的代码基础上,编写新的代码,下班时把“代码…...
MyBatis系列四: 动态SQL
动态SQL语句-更复杂的查询业务需求 官方文档基本介绍案例演示if标签应用实例where标签应用实例choose/when/otherwise应用实例foreach标签应用实例trim标签应用实例[使用较少]set标签应用实例[重点]课后练习 上一讲, 我们学习的是 MyBatis系列三: 原生的API与配置文件详解 现在…...
Jenkins构建 Maven项目(微服务)并自动发布
前面讲了docker 安装Jenkins和gitlab代码管理工具,接下来我们讲一下Jenkins怎么构建 Maven项目。 1. 首先Jenkins配置下面3中工具类 首先是在本地安装三个jenkins自动配置相关的工具 1.1 JDK 由于我们使用docker来启动jenkins,其自带有jdk,…...
简单易用的多功能图床Picsur
什么是 Picsur ? Picsur 是一款易于使用、可自行托管的图片分享服务,类似于 Imgur,并内置转换功能。支持多种格式的图片,包括 QOI、JPG、PNG、WEBP(支持动画)、TIFF、BMP、GIF(支持动画…...
数据库-查询语句习题
SELECT Sname 姓 名,year of birth: 出生年,YEAR(GETDATE())-Sage BIRTHYEAR,LOWER(SNAME) SNAME --起别名 没有特殊字符不需要引号,有特殊字符要加引号;别名(解释作用显示给用户看)用空格或as连接 FROM STUDENT; --消除重复行 DI…...
进程间通信以及线程的同步互斥机制
1.进程间通信机制 常用的六种通信机制: 管道、消息队列、共享内存、信号灯集、信号、Socket 管道(Pipe)和无名管道(匿名管道): 管道是一种半双工的通信方式,数据只能单向流动,通常…...
优思学院|做车企的质量工程师转行跳槽能干嘛?
前言 质量工程师,是现代制造业和服务业中不可或缺的重要角色。他们负责制定和执行提高产品质量和优化业务流程的战略。这不仅涉及设立质量标准、开发测试系统,还包括记录生产过程中的问题并找到解决方案。尤其在汽车行业,由于对质量的高度要…...
ctfshow-web入门-命令执行(web53-web55)
目录 1、web53 2、web54 3、web55 1、web53 这里的代码有点不一样,说一下这两种的区别: (1)直接执行 system($c); system($c);这种方式会直接执行命令 $c 并将命令的输出直接发送到标准输出(通常是浏览器ÿ…...
【INTEL(ALTERA)】make: nios2-swexample-create:未找到命令
目录 说明 解决方法 说明 由于外部内存接口英特尔 Stratix 10 FPGA IP 出现问题,如果在 Windows 平台上使用英特尔 Quartus Prime Pro Edition Software v20.4 或更早版本的"使用软Nios处理器进行片上调试"选项,编译Nios II 片上处理器调试…...
一周刷爆leetcode!(b站视频)
文章目录 一、排序思想的题目二、使用步骤1. 一、排序思想的题目 跟着b站一周刷爆leetcode这个视频开始刷一下leetcode的题目 进行一下记录啥的 二、使用步骤 1. 315. 计算右侧小于当前元素的个数 代码如下: 写了一下暴力解法,没有通过 使用归并排序…...
1.xshell传不了文件输出0000如何解决.....2.k8s中metalLB文件内容
xshell传不了文件输出0000如何解决 centos版本 1,因为没有工具下载即可 yum -y install lrzszk8s中metalLB文件内容 2.metalLB文件内容 cat metallb-native.yaml apiVersion: v1 kind: Namespace metadata:labels:pod-security.kubernetes.io/audit: privilegedpod-securit…...
01- ES6语法
1.ES6相关概念 1.1 什么是ES6 1.1.1 简介 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。 ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 Ja…...
STM32MP135裸机编程:配置RCC,修改主频到1GHz
0 工具准备 STM32CubeMX v6.11.1 STM32CubeIDE v1.15 STM32CubeProgrammer v2.16.0 STM32MP13xx参考手册 STM32MP13勘误手册 STM32MP135AD数据手册 正点原子stm32MP135开发板 1 确认时钟源 本例使用的时钟源均由外部晶振提供,分别是24MHz的HSE、32.768KHz的LSE。原…...
观察 jvm 运行时数据区内存大小(native memory tracking)
jvm 运行时数据区 jvm 运行时数据区包括且不限于以下几个部分: 堆(heap): 用于存储对象实例和数组。堆内存的分配和释放由垃圾回收器进行管理。方法区(method area): 用于存储类的信息、静态变量、常量等。jdk 8 后方法区位于 metaspace。虚拟机栈(vm stack): 用于存储方法的…...
【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化
Temporality Spatialization: A Scalable and Faithful Time-Travelling Visualization for Deep Classifier Training 摘要1 引言2 动机3 问题定义4 方法论4.1 时空复合体4.2 复数约简 5 实验6 相关工作7 结论参考文献 摘要 时间旅行可视化回答了深度分类器的预测是如何在训练…...
Windows系统部署本地SQL_Server指引
Windows系统部署本地SQL_Server指引 此指引文档环境为Windows10系统,部署SQL_Server 2019为例,同系列系统软件安装步骤类似。 一、部署前准备; 下载好相关镜像文件;设备系统启动后,将不必要的软件停用,避…...
Aptos Builder Jam 亚洲首站|议程公布,无限畅想 Aptos 生态未来
作为一个新兴的 Layer1 公链,Aptos 自诞生之日起的理想便是 “A Layer 1 for everyone” 当 Web3 深陷熊市阴影之时,Aptos 奋力为开发者找到了全新的技术路径,正有 200 项目正在开发,并且已有大量 DeFi 项目落实部署工作ÿ…...
Vue3使用component动态展示组件
前言: 最近在研究gitHub中的一个项目并将与自己之前完成的项目进行结合,其中有一个功能就是需要使用根据不同的字段,渲染不同的组件,查阅资料发现可以使用component完成这个功能,在实现的过程中也会遇见一些坑&#x…...
嵌入式中间件_2.嵌入式中间件的分类
1.中间件的分类 中间件的范围十分广泛,针对不同的应用需求涌现出了多种各具特色的中间件产品。因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。 根据IDC在1998年对中间件进行的分类,把中间件分为终端仿真/屏幕转换…...
论文精读——KAN
目录 1.研究背景 2.关键技术 2.1 原始公式 2.2 KAN结构 2.3 缩放定律 3.技术扩展 4.模型效果 5.相关讨论 6.总结 文章标题:《KAN: Kolmogorov–Arnold Networks》 文章地址: KAN: Kolmogorov-Arnold Networks (arxiv.org)https://arxiv.org/a…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
