自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 问答 (4)
  • 收藏
  • 关注

原创 六、Selenium操作指南(三)

如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候尝试在get方法执行完成时获取网页源代码可能并非浏览器完全加载完成的页面。设置一个等待时间和一个条件,在规定时间内,每隔一段时间查看下条件是否成立,如果成立那么程序就继续执行,否则就抛出一个超时异常。selenium中的Keys()类提供了大部分的键盘操作方法,通过send_keys()方法来模拟键盘上的按键。既然是模拟浏览器操作,自然也就需要能模拟鼠标的一些操作了,这里需要导入ActionChains 类。

2024-09-01 10:46:04 752

原创 七、性能测试

性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决;找出系统性能变化趋势,为后续的扩展做准备。一般地,它主要是针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。性能指标里包括系统各个方面的能力,如系统并发处理能力,系统响应时间,批量业务处理能力等等。

2024-08-31 19:13:48 881

原创 五、Selenium操作指南(二)

Selenium打开一个页面之后,默认是在父页面进行操作,此时如果这个页面还有子页面,想要获取子页面的节点元素信息则需要切换到子页面进行擦走,这时候switch_to.frame()就来了。既然我们有很多方式来定位页面的元素,那么接下来就可以考虑获取以下元素的属性了,尤其是用Selenium进行网络爬虫的时候。比如同一个页面的不同子页面的节点元素获取操作,不同选项卡之间的切换以及不同浏览器窗口之间的切换操作等等。单选比较好操作,先定位需要单选的某个元素,然后点击一下即可。

2024-08-31 19:04:21 868

原创 四、Selenium操作指南(一)

每个元素其实就是一个tag,一个tag往往用来定义一类功能,我们查看百度首页的html代码,可以看到有很多同类tag,所以其实很难通过tag去区分不同的元素。前面介绍的几种定位方法都是在理想状态下,有一定使用范围的,那就是:在当前页面中,每个元素都有一个唯一的id或name或class或超链接文本的属性,有时候一个超链接的文本很长,我们如果全部输入,既麻烦,又显得代码很不美观,这时候我们就可以只截取一部分字符串,用这种方法模糊匹配了。可以看到以上是有界面的浏览器,我们还可以初始化浏览器为无界面的浏览器。

2024-08-31 16:26:04 986

原创 九、JMeter之压力测试

软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

2024-08-31 15:06:35 709

原创 二、测试的基本概念

测试环境、操作步骤、测试数据、预期结果等要素。测试用例解决了两大问题:测什么,怎么测。测试过程中可能会遇到以下问题: –不知道是否较全面的测试了所有功能 –测试的覆盖率无法衡量 –对新版本的重复测试很难实施 –存在大量冗余测试影响测试效率测试用例的产生就是为了解决上述的问题。

2024-08-30 11:34:52 849

原创 八、项目测试(在线五子棋对战)

1、写博客和发布博客进行效验。二、博客系统自动化测试用例。登录界面测试出现问题。3)博客列表界面测试。4)博客详情界面测试。5)博客编辑界面测试。2、效验发布博客标题。6)删除功能博客测试。

2024-08-28 09:33:18 306

原创 三、自动化测试

自动化测试包括UI自动化, 接口自动化, 单元测试自动化. 按照这个金字塔模型来进行自动化规划, 可以产生最佳的自动化测试产出投入比(ROI), 可以用较小的投入获得很好的收益.自动化测试是指软件测试的自动化, 在预设状态下运行应用程序或者系统,预设条件包括正常和异常, 最后评估运行结果. 将人为驱动的测试转换成机器执行的过程.接口测试就是API测试, 相对于UI自动化,API自动化更容易实现, 执行起来也更加稳定.最大的投入应该在单元测试上. 单元测试运行的频率也更加高.下面是自动化测试的金字塔.

2024-08-28 09:31:48 379

原创 十一、golang高阶之channel

和map类似,channel也一个对应make创建的底层数据结构的引用。当我们复制一个channel或用于函数参数传递时,我们只是拷贝了一个channel引用,因此调用者和被调用者将引用同一个channel对象。和其它的引用类型一样,channel的零值也是nil。定义一个channel时,也需要定义发送到channel的值的类型。chan是创建channel所需使用的关键字。Type 代表指定channel收发数据的类型。

2024-07-15 15:03:15 766

原创 八、golang基础之reflect反射

反射可以大大提高程序的灵活性,使得interface{}有更大的发挥余地反射必须结合interface才玩得转 变量的type要是concrete type的(也就是interface变量)才有反射一说反射可以将“接口类型变量”转换为“反射类型对象”反射使用 TypeOf 和 ValueOf 函数从接口中获取目标对象信息反射可以将“反射类型对象”转换为“接口类型变量reflect.value.Interface().(已知的类型)遍历reflect.Type的Field获取其Field。

2024-07-15 14:10:26 1061

原创 ALL-leetcode75

leetcode75

2024-07-13 11:19:28 170

原创 十、golang高阶之goroutine

goroutine是Go语言并行设计的核心,有人称之为go程。Goroutine从量级上看很像协程,它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万个并发任务。goroutine比thread更易用、更高效、更轻便。

2024-07-12 17:26:16 457

原创 七、golang基础之interface与类型断言

接口是Go语言中一种抽象类型,它定义了一组方法(方法集),但没有具体实现。通过接口,我们可以定义对象的行为和功能,而无需关心具体对象的类型。接口的存在使得代码更加灵活、可扩展,并提供了良好的代码复用机制。在Go语言中,可以通过type关键字和interface{}类型来定义接口。接口的定义通常包含一系列方法签名,即方法的名称、参数列表和返回值。在上述代码中,我们定义了一个名为Shape的接口,它包含了两个方法签名:Area()和Perimeter()。

2024-07-12 14:03:48 826

原创 六、golang基础之面向对象特征

此时在method1()中的t只是参数t的值拷贝,所以method1()的修改影响不到main中的t变量。举例来说,下面例子中的time.AfterFunc这个函数的功能是在指定的延迟时间之后来执行一个(译注:另外的)函数。和方法"值"相关的还有方法表达式。当调用一个方法时,与调用一个普通的函数相比,我们必须要用选择器(p.Distance)语法来指定方法的接收器。在一个包的API需要一个函数值、且调用方希望操作的是某一个绑定了对象的方法的话,方法"值"会非常实用.:method2(&t)。

2024-07-10 17:08:11 524

原创 2024.7.9.小组汇报postman分享会

Postman 是一款支持 HTTP协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好。无论是开发人员进行接口调试,还是测试人员做接口测试,Postman都是首选工具之一。接下来就介绍一下 Postman 到底有哪些功能,它们分别都能干些什么。下面先通过一张图来直观地来看下 Postman中所包含的功能。

2024-07-09 09:49:17 978

原创 五、golang基础之slice和map

切片不需要说明长度。也可以简写为也可以指定容量,其中capacity为可选参数。这里 len 是数组的长度并且也是切片的初始长度。

2024-06-29 10:51:57 576

原创 四、golang基础之defer

defer语句被用于预定对一个函数的调用。可以把这类被defer语句调用的函数称为延迟函数。

2024-06-29 10:07:26 408

原创 三、golang基础之函数

等所有被导入的包都加载完毕了,就会开始对main包中的包级常量和变量进行初始化,然后执行main包中的init函数(如果存在的话),最后执行main函数。当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的包级常量和变量进行初始化,接着执行init函数(如果有的话),依次类推。说明如果一个包会被多个包同时导入,那么它只会被导入一次,而先输出lib2是因为main包中导入Lib1时,Lib1又导入了Lib2,会首先初始化Lib2包的东西。接下来我们将具体介绍指针。

2024-06-28 15:07:25 568

原创 二、golang基础之常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量的定义格式:(二)定义(1)显式类型定义:(2)显式类型定义:(3)例子(三)内置函数常量可以用len(), cap(), unsafe.Sizeof()常量计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过:字符串类型在 go 里是个结构, 包含指向底层数组的指针和长度,这两部分每部分都是 8 个字节,所以字符串类型大小为 16 个字节。

2024-06-28 14:08:13 415

原创 一、测试开发前置知识

冒烟测试(Smoke Testing)和回归测试(Regression Testing)是软件测试中两种不同的测试策略和阶段。(1)冒烟测试(Smoke Testing)定义:冒烟测试是软件开发中的一个初步测试阶段,也称为版本验证测试、健康检查或健全性测试。它的目的是确认新的或更改的代码不会破坏系统的基本功能。特点:快速:通常只包含少量关键的测试用例,目的是在短时间内确认系统是否基本可用。前置:通常在进行详细测试之前进行,如果冒烟测试失败,那么进一步的测试可能会被推迟或取消。

2024-06-07 16:56:35 612

原创 一、golang基础之变量

变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。经过半个多世纪的发展,编程语言已经基本形成了一套固定的类型,常见变量的数据类型有:整型、浮点型、布尔型等。Go语言中的每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。

2024-06-07 16:54:09 136

原创 二、QT的信号与槽

在 Qt 中,用户和控件的每次交互过程称为一个事件。比如 “用户点击按钮” 是⼀个事件,“用户关闭窗口” 也是一个事件。每个事件都会发出⼀个信号,例如用户点击按钮会发出 “按钮被点击” 的信号,用户关闭窗口会发出 “窗口被关闭” 的信号。信号是由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了某个特定事件,这时 Qt 对应的窗口类会发出某个信号,以此对用户的操作做出反应。因此,信号的本质就是事件。如:• 按钮单击、双击• 窗口刷新• 鼠标移动、鼠标按下、鼠标释放• 键盘输入。

2024-04-07 16:25:17 1177

原创 Linux常用知识思维导图

Linux常用知识思维导图。

2024-01-07 21:26:00 456 1

原创 八、Lua数组和迭代器

数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。在 Lua 中,数组不是一种特定的数据类型,而是一种用来存储一组值的数据结构。实际上,Lua 中并没有专门的数组类型,而是使用一种被称为 “table” 的数据结构来实现数组的功能。Lua 数组的索引键值可以使用整数表示,数组的大小不是固定的。在 Lua 索引值是以 1 为起始,但你也可以指定 0 开始。

2023-11-28 20:24:20 1454 2

原创 九、LuaTable(表)

table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。Lua table 是不固定大小的,你可以根据自己需要进行扩容。Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。例如string.format表示使用"format"来索引table string。

2023-11-28 16:13:30 1444 1

原创 七、Lua字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。在 Lua 中,字符串是一种基本的数据类型,用于存储文本数据。Lua 中的字符串可以包含任意字符,包括字母、数字、符号、空格以及其他特殊字符。

2023-11-28 10:32:40 1571 2

原创 六、Lua运算符

运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。外所有的二元运算符都是左连接的。

2023-11-28 08:58:58 804 2

原创 五、Lua流程控制与函数

在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。完成指定的任务,这种情况下函数作为调用语句使用;计算并返回值,这种情况下函数作为赋值语句的表达式使用。end。

2023-11-27 17:19:41 747 1

原创 四、Lua循环

既然同为编程语言,那么控制逻辑里的循环就不能缺少,它可以帮助我们实现有规律的重复操作,而循环一般由循环体和停止条件组成。而lua的循环可以由 while for repeat … util 和 goto 实现。

2023-11-27 16:29:06 813 1

原创 三、Lua变量

局部变量:从作用范围开始到作用范围结束,需加local 修饰。全局变量:默认,全局有效。

2023-11-27 11:19:52 823 2

原创 二、Lua数据类型

Lua是一种动态类型的语言。在语言中没有类型定义的语法,每个值都“携带”了它自身的类型信息。

2023-11-27 11:05:59 1579

原创 一、Lua基础

Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。

2023-11-26 20:32:53 851 2

原创 leetcode/hot100

【代码】leetcode/hot100。

2023-11-23 08:05:00 1105 3

原创 二、面经整理(二)

静态内存分配:在程序编译时就已经分配好了一块固定大小的内存空间,程序运行时一直存在。例如:全局变量和静态变量。栈式内存分配:在函数调用时,在栈上分配一块固定大小的内存空间,函数执行完毕后,内存自动释放。例如:局部变量。堆式内存分配:程序在运行时动态地分配内存空间,可以根据需要分配和释放内存,由程序员控制。例如:动态分配内存的函数malloc()和free()

2023-11-19 08:03:40 193 1

原创 一、MySQL.pratice.search

MySQL是一种常用的关系型数据库管理系统,广泛应用于各种Web应用程序中。在编程中,使用MySQL进行数据操作是非常常见的操作。在MySQL中,查询是最常用的操作之一,可以查询整个表或者根据特定的条件查询数据。

2023-11-18 20:32:38 228 1

原创 一、面经整理(一)

bind则是一个用于将函数和其参数进行绑定的工具,可以将一个函数和部分参数绑定在一起,生成一个新的函数对象,这个新的函数对象可以像原函数一样进行调用,但会自动填充绑定的参数。构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数,可以是一个,也可以是多个,可以把构造函数理解为重载的一种(函数名相同,不会返回任何类型,也不可以是void类型,参数类型个数可不同)。简单来讲就是使用一个对象,在其构造时获取对应的资源,在对象生命期内控制对资源的访问,最后在对象析构的时候,释放构造时获取的资源。

2023-11-03 19:34:09 216 1

原创 C++项目:网络版五子棋对战(收官总结篇)

本项目主要实现一个网页版的五子棋对战游戏,其主要支持以下核心功能:(一)用户管理实现用户注册,用户登录、获取用户信息、用户天梯分数记录、用户比赛场次记录等。(二)匹配对战实现两个玩家在网页端根据天梯分数匹配游戏对手,并进行五子棋游戏对战的功能。(三)聊天功能实现两个玩家在下棋的同时可以进行实时聊天的功能。

2023-10-26 10:43:15 455 2

原创 2.9.C++项目:网络版五子棋对战之业务处理模块的设计

服务器模块,是对当前所实现的所有模块的⼀个整合,并进行服务器搭建的一个模块,最终封装实现出⼀个gobang_server的服务器模块类,向外提供搭建五⼦棋对战服务器的接口。通过实例化的对象可以简便的完成服务器的搭建。将所有的模块整合在一起,通过网络通信获取到客户端的请求,提供不同的业务处理。

2023-10-25 22:09:47 338 2

原创 2.8.C++项目:网络版五子棋对战之对战玩家匹配管理模块的设计

今天是10月24日,一年一度的程序员节。 心之所向,一往无前,每跨越一次1024,技术人又向前迈进一步。 心怀梦想,坚守技术,技术人的脚下之路,也将更加坚定。 在今天这个日子,祝福所有的技术人节日快乐!

2023-10-24 21:51:18 173 1

原创 2.7.C++项目:网络版五子棋对战之session模块的设计

在WEB开发中,HTTP协议是⼀种无状态短链接的协议,这就导致⼀个客户端连接到服务器上之后,服务器不知道当前的连接对应的是哪个用户,也不知道客户端是否登录成功,这时候为客户端提所有服务是不合理的。因此,服务器为每个用户浏览器创建⼀个会话对象(session对象)。

2023-10-24 21:37:41 114 2

空空如也

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

TA关注的人

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