自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 【无标题】tester

ctrl+/ :可以查看mkdown语法的内容。[TOC]: topic 主题-自动生成目录。ctrl+1 :代表一级标题。ctrl+2:代表二级标题。

2024-07-13 10:14:01 181

原创 Jenkins升级中的小问题

​ 在Jenkins环境进行插件安装时全部清一色飘红,发现是因为Jenkins版本过低导致,报错的位置可以找到更新jenkins按钮,没有看到,所以无奈只能更新,下载了新的war包进行替换,结果环境重启不了了,一开始以为也就是花五分钟重装jenkins搞定这个问题,结果发现根本就不是这样跟你服务器版本可能略有区别,我整整花了一天的时间几乎,还是老老实实装回了以前的版本找到更新的位置进行更新。报错这个是因为java未进行安装如果是。##### Jenkins版本小插曲。无法启动根据提示查看报错。

2024-03-28 11:01:41 766

原创 loguru的基本使用方法

参考文档:https://loguru.readthedocs.io/en/stable/api/logger.html#sink。选择使用这个库的原因是它使用简洁不复杂不像logging这个库一样需要创建Handle等,一个logger搞定所有。如果要对输出的内容进行其他处理需要使用add方法,下面是python源码对add方法的说明,可以传入很多参数。logger直接输出内容前,已经提前做了配置,比较友好地输出内容的格式和颜色。这样我们的add会自动判断这个字符串是个路径然后目录写入我们的log信息。

2023-06-20 15:21:43 846

原创 try语句异常处理

​ 使用try语句主要是为了进行异常的捕捉处理,异常在python也有几个基类。

2023-06-20 15:21:42 881

原创 python中assert的使用

在python程序中使用assert是一个非常好的习惯,程序未完善之前不让它在运行到最后崩溃,这时候就需要我们的assert的帮助了。这里的assert后续的表达式其实就是一个布尔类型,所以也可以跟单独的字符串,以及空字符串等类型,类似我们的if后面的表达式用法。之前一直是在框架中使用assert今天才发现了自己的肤浅,mark一下;assert主要用于程序调试。

2023-05-24 22:53:43 389

原创 try语句异常处理

​ 使用try语句主要是为了进行异常的捕捉处理,异常在python也有几个基类。

2023-05-24 14:27:47 1027

原创 uiautomator入门一下子

pip install -v weditor==0.6.4 -i https://pypi.douban.com/simple(版本相对稳定,不会产生字符集影响报错)6、命令行直接输入 weditor 会自动打开浏览器(http://localhost:17310/),输入设备的ip或者序列号,点击Connect即可。4、运行python3 -m uiautomator2 init安装包含httprpc服务的apk到手机。1、先准备一台开启了开发者选项的安卓手机,连接上电脑,此处直接打开MuMu模拟器。

2023-05-19 14:25:04 291

原创 三目运算符的使用

的形式而是使用if else关键字实现相同的功能。通常表达式1为关系表达式,表达式2和3为常量、变量或者表达式。​ 三目运算要求有三个操作对象,一般表达形式为。python中的使用就比较简单了。

2023-05-19 12:05:05 317

原创 浮点数运算对结果的影响

正常逻辑我们的结果应该就是6.3但是实际结果却是6.300000000000001,这是由于CPU进行计算的时候通过自己的浮点单位进行计算导致的结果差异,看似有穷尽的浮点数转化为二进制的浮点数后就会变成无穷尽的,所以我们在进行运算的时候尽量使用整数进行运算。用1元纸币兑换1分,2分和5分的硬币,要求兑换总数为50枚,问可以有多少种组合,每种组合对应1分,2分,5分分别是多少。​ 相同的运算方法为什么会出现两种不同的结果呢,原因就在于我们的 i*1+j*2+k*5。

2023-05-17 10:34:26 247

原创 canoe的demo安装

进入vector官网->

2023-04-14 11:14:28 864

原创 CAN报文Intel信号

在定义CAN通信矩阵或者dbc时,需要确定CAN报文的信号排列形式,字节排列中有Intel和Motarola,这里主要介绍Intel的排列形式。当一个信号的数据长度超过1个字节,信号的高位将放在高字节的高位,信号的低位将被放在低字节的低位。若车速100km/h,精度为0.1,偏移量为0,使用的字节排列为intel,信号值应该发送多少。发送的数据转化为十六进制为3E8使用intel方式,也就是从从低到高发送数据就是E803。

2023-04-13 14:35:40 1368

原创 标准帧和拓展帧的区别

​ 标准帧和拓展帧的区别在于仲裁域,拓展帧拥有庞大的ID群,不会担心ID不够用的情况出现,以便扩展更多的CAN节点。​ 拓展帧的仲裁域是29位,可以出现2^29种报文,也就是帧ID的范围是0000-0000-1FFF FFFF。​ 标准帧的仲裁域是连续的11位,可以出现2^11种报文,也就是帧ID的范围是000-7FF。11位的二进制表示为十六进制的数字,帧ID一般都是十六进制的数字。​ 帧ID越小代表访问总线的消息优先级越高。

2023-03-31 17:22:00 2660

原创 No such file or directory处理

中查找路径,参数化中调用的td方法,传入的文件不在查找的路径中,所以报错No such file or directory。方法2:将td方法解析的文件所在目录加入到sys.path中也可。sys.path会查找python解释器的目录以及文件所在目录。运行test_login.py时会从sys.path。方法1:所有的内容使用绝对路径导入的方式即可。最好的方法就是都统一使用绝对路径。

2023-03-30 11:35:34 1198

原创 os.path模块

os是python中的内置库,提供了对于目录和文件的处理方法。

2023-03-29 10:00:11 97

原创 pytest的参数化装饰器使用

在unittest需要第三方库ddt进行配合实现参数化但是在Pytest中不需要第三方库的配合,使用装饰器@pytest.mark.parametrize()就可以实现。pytest实现参数化单个参数实现参数化多个参数实现参数化修改测试名称使用yaml文件实现参数化1. 实现一个登录功能2. 实现参数化3. 使用yaml文件实现参数化。参数化除了支持传递两个参数还支持传递第三个参数ids来自定义显示结果的名称。3. 使用yaml文件实现参数化。使用yaml文件实现参数化。pytest实现参数化。

2023-03-27 11:29:10 406

原创 HTTP协议

的话,client端发送第一个连接的请求报文没有丢失而是在某个网络结点长时间滞留,以致于延误到连接释放以后的某个时间点才到达server,这个本应该是早已失效的报文,但是server端接收到以后就以为是client端发起的一个新的连接请求,于是向client端发送确认报文,由于client端没有发起建立连接的请求,所以不会理睬server的确认,不会向server发送ack确认,这样就会浪费server端的资源。如果是三次挥手,在服务器接收到客户端发送关闭的请求后,把SYN和ACK包一起发过去。

2023-03-24 11:43:13 336

原创 网络七层协议

物理层主要就是解决硬件之间的通信,常见的媒介有电缆、光纤等,定义了物理设备的标准,如网线的接口类型、各种传输介质的传输速度,在软件行业中主要就是网线;实现了第一次的网络寻址后,不可能每一次都要调用网络层进行数据寻址,所以会话层的作用就是建立和管理应用程序之间的通信。通过路由选择算法为来自数据链路层的数据进行网络寻址,这一层主要就是定义IP地址,通过IP进行寻址。当传输大量数据为了防止出现防止丢包的情况,监控传输的质量,保证正常传输。网络七层协议物理层数据链路层网络层传输层会话层表示层应用层。

2023-03-23 14:47:21 229 2

原创 删除/更新数据对数据的影响

表数据进行删除过程中由于外键的影响导致主从表中数据删除约束也不一样,三种常见的删除影响有主从表同步删除、从表有数据不允许主表删除、主表删除从表对应的列显示为Null。在主表上update/delete记录时,同步update/delete从表的匹配记录。如果从表中有匹配的记录,则不允许对主表对应候选键进行update/delete操作。在主表上update/delete记录时,将从表上匹配记录的列设为null。

2023-03-22 15:09:02 685

原创 mysql中的主表和从表

员工信息表(id、name、deptno)和员工部门表(deptno、deptname),在这两张表中员工信息表中的deptno和员工部门表中的deptno进行关联。员工表中的部门号可以重复,因为一个部门中可以有多个员工,通过员工表中的部门号与部门表中部门号建立关系的表叫做从表,建立关系的字段叫做外键。简单理解也就是一对多的关系,一指的是主表中的数据,多指的是从表中的数据。部门信息中部门号是唯一的,作为主键;存在主键的表叫做主表。

2023-03-22 14:22:50 1308

原创 requests库的基本使用方法

API中收到Response对象。requests其实使用了PrepareRequest,有时候在发送请求前,我们需要对body或者header做一些处理。当然request的用法不止这些但是这些就大概满足日常所需了,有需要可以查看官方帮助文档。对于post进行发送请求,参数传递更加安全但是传递的参数需要定义使用的类型。对于get请求来讲,参数暴漏在url中,默认使用params进行参数传递。进入命令行win+R执行。

2023-03-04 14:48:25 726

原创 深度解析车载域控制器

随着车辆的信息化程度的发展,车辆的ECU也越来越多,从引擎控制、转向助力、仪表、影音等,传统的汽车电子电气架构是分布式的(图1-2),ECU之间的通讯是通过CAN或者LIN线进行连接.

2022-12-10 15:52:41 4377

原创 迭代器和生成器

不管是生成器还是我们的容器,最终都是迭代器,使用next方法进行有规律的获取元素,不需要将元素都加载到内存进而节省资源利用

2022-12-10 15:07:17 745

原创 import机制浅析

​ from import如果采用相对导入会出现各种导入出现异常问题,所以我们在库的导入过程中一般采用绝对路径的导入方式,简单直接方便,如果有些目录导入比较麻烦,可以将目录添加至根目录方便索引位置。​ 在python中绝对导入和相对导入都有一个参考值,其中绝对导入是参考的项目根目录,我们的相对导入参考的是运行模块所在的目录。​ 让我们从一个报错开始我们的绝对导入的讲解吧,我们知道使用绝对导入参考是根目录,创建如下对应的目录使用,cmd窗口运行。加入在我们的path路径中,防止出现一些未知的问题。

2022-11-28 16:54:35 436

原创 yml和json的序列化和反序列化

yml文件可以参考:https://blog.youkuaiyun.com/weixin_45336222/article/details/127610563。​ 提到我们的json、yml就不得不提处理yml和json的第三方json和yml库,他们是用来对yml和json文件进行序列化。反序列化就是把存储在json或者yml文件中的数据读取至内存使用python处理的过程。序列化就是将变量从内存中读取转化为可存储的json和yml的过程。

2022-11-25 10:03:40 939

原创 selenium使用cookie管理进行免密登录博客园

博客园这个比较特殊,正常我们在页面操作过程中只需要传入name和value值就好了,但是博客园不行需要除了expiry字段外所有的信息都要传入,否则无法登录,所以我们要在一种方法不行的情况下多尝试一下其他方法。​ 在了解cookie的原理后,我们知道登录后我们客户端会生成cookie保存用户信息,所以我们在selenium的方法中就有我们的。方法进行cookie的信息获取,等打开新页面后我们要实现登录,只要把对应cookie添加到浏览器中即可,所以有我们的。

2022-11-24 15:32:48 1085 5

原创 迭代器内容详解

​ 迭代器最核心的功能就是通过next()函数的调用返回下一个函数值,它是可以通过程序按照规律来进行生成,不用依赖已有的集合(列表、字典等),也就是不用缓存数据节省内存空间。迭代器是实现迭代器协议的对象,它包含__iter__()和___next_()方法,我们常见的可迭代对象有列表、元组、字典,字符串,我们可以从这些迭代对象中。更多内容可以看我的bilibili账号:https://space.bilibili.com/432730836。斐波那契数列就是第三个数是前两个数的和,

2022-11-23 16:26:34 444 2

原创 使用open as方法对文件进行操作

​ 对于文件来说我们常用的就是读写操作了,首选就是我们的with…open…as方法,进行文件的读写操作,因为这个方法不需要自己进行文件的关闭,由python机制进行自动处理,比较方便也减少我们出现问题的概率。

2022-11-23 11:16:34 651

原创 python的单例模式

​ 单例模式核心主要是保证一个类只有一个实例,并且提供一个全局访问点,为什么要这么做呢?在具体代码运行前还是要说明一下我们的计算机构成和代码运行机制以便于我们更好的理解单例模式的作用。冯诺依曼体系[^1]​ python的变量无需声明,无需指定类型,我们程序员也无需掌握内存管理机制,对于python的处理我们可以简单嵌套冯诺依曼体系。​ 下面来说明一下处理过程,以下面例子来具体说明step1:开辟内存空间,存储数据10类型属于int,变量a指向了"ABC"

2022-11-14 16:19:44 182

原创 常用的一些高阶函数

主要介绍python中的几个高阶函数的使用方法。

2022-11-09 17:00:00 269

原创 selenium中三种等待方式

​ 三种等待方式根据情况进行选择使用,正常在编写代码中只要使用隐式等待即可,但是也可进行混合使用,在隐式和显式混合使用中,优先级最高为显式等待但是等待时间是根据显式和隐式设置的时间长短来决定,如果隐式时间设置长,则根据隐式的设置时间提示显式的元素以及message提示。

2022-11-09 09:46:40 321

原创 selenium处理滑块和验证码的方法

拖拽和滑块登录的处理方法

2022-11-07 10:28:00 884

原创 Nginx安装和配置的使用

​ Nginx是高性能的HTTP和反向代理服务器,在传统的项目中由于用户少,并发量小,所以一般我们是不需要反向代理的,如图1-1图1-1​ 但是随着互联网的发展,单个tomcat的默认并发是有限的,如果并发量过大会导致服务器崩溃,所以我们就需要增加服务器将客户端发送过来的HTTP请求进行均衡处理1,发送给服务器进行分别处理。其中我们把接收到客户端消息后将请求转发给服务器进行处理的过程叫做反向代理2,如图1-2图1-2​ Nginx的特点就是高并发、高可用、高可靠性以及支持热部署,内存比较小等。

2022-10-31 16:34:41 823

原创 二十分钟掌握yaml编写方式

​ 在数据格式描述和复杂数据展示方面的配置文件,Yaml设计的原则就是方便人类进行阅读,后缀名结束一般使用yml或者yaml,使用它也需要遵循相关的规范大小写敏感1 #表示注释2 使用缩进表示层级关系,缩进过程中只允许使用空格不允许使用Tab3 相同层级的元素只要左对齐即可支持的数据格式1 字典2 列表3 常量。

2022-10-31 10:23:59 2651

原创 pytest中的配置文件

ini文件

2022-10-29 14:53:47 827

原创 pytest中的fixture使用语法说明

fixture使用,值得了解

2022-10-27 15:14:07 750

原创 车载诊断概念简单介绍

uds协议开胃菜

2022-10-25 17:16:56 1087

原创 面向对象的三大特征

​ 一直就想写一篇关于面向对象的博文,可是一直也不知道如何下手,今天清理了一下思路终于可以动手写了,其实面向对象也没有那么复杂,人们总是喜欢捕捉生活中各种事物的特征然后对各种事物进行分类,这其实就是面向对象的思想。python中使用class关键字进行类的创建,类名使用驼峰命名方式。

2022-10-19 09:55:40 234

原创 车载的整体简单介绍-1

简单随笔

2022-10-18 15:53:39 945

原创 软件测试大汇总纲要

如果你不知道目的在哪里,你可能永远无法到达!

2022-10-11 14:35:24 119

原创 车载中电源的术语

车载中电源的术语

2022-09-25 15:24:50 2828 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除