logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Selenium自动化测试入门:从登录到列表页断言的核心方法与实战

自动化测试的第一步往往是登录,然后进入列表页验证数据。这两个板块看似简单,但涉及元素定位、隐式等待与显式等待、浏览器弹窗(alert)、列表长度断言等常见场景。本文结合我的博客系统测试代码,按照“登录成功 → 登录失败 → 进入列表页 → 断言文章数量”的顺序,记录核心方法和踩坑经验。## 二、核心方法速查表功能方法说明定位单个元素找不到抛异常定位多个元素返回列表,可len()输入文本elemen

文章图片
#selenium#python#测试工具
Linux 线程学习总结:创建、等待、退出、分离

joinable(默认)• 需要 pthread_join• 可获取返回值• 不 join → 资源泄漏detached(分离状态)• 无需 join• 自动释放资源• 不能被 join• 适合后台长期运行线程线程默认 joinable,必须 join,否则泄漏。线程退出三种方式:return、pthread_exit、pthread_cancel。pthread_cancel 不是立即杀死线程,

#linux#学习#c++
【Linux 多线程实战总结】条件变量 + 生产者消费者模型 + 阻塞队列 从 0 到 1 全解析

在多线程编程中,我们会遇到线程同步问题:多个线程操作共享资源时,需要让线程在条件不满足时等待,条件满足时唤醒。互斥锁只能解决线程安全,无法解决线程协同等待 / 唤醒,因此条件变量(Condition) 应运而生。本文将从核心 API→原理→封装→实战模型→踩坑全流程讲解,最终实现多生产者多消费者。条件变量核心配合互斥锁使用,解决线程同步 / 等待唤醒Wait是原子操作:释放锁 → 等待 → 抢锁条

文章图片
#linux#缓存#c++ +2
c++的一些小语法

对象中为了区分不同的对象调用相同的类成员函数,在编译器编译后,类的成员函数默认都会在形参的第一个位置,参加一个当前类的指针,叫做this指针。5.如果嵌套了结构体,算两步,嵌套的结构体对齐到自己的最大对齐整数倍中,结构体的整体大小就是所有最大对齐数的整数倍。5.跟构造函数一样,我们不写,编译器会自动生成析构函数对内置成员不做处理,自定义类型成员会调用它的析构函数。5.如果没有写,编译器会自动生成,

#c++#开发语言
面试中常考的问题:C语言部分

在操作系统中,从左向右地址是从小到大的,如果是大端存储,那么数据的从高地址位开始存储,否则是小端的话就从低地址开始存储int i = 1;//大端else {//小端首先#define在预处理阶段就进行处理,而const int是在编译阶段进行处理的第二个就是#define就是进行简单的文本替换,不会对类型安全进行检查,而const int会进行安全检查第三个就是#define调试可能会比较困难,

文章图片
#面试#c语言#算法
【Linux 多线程实战总结】条件变量 + 生产者消费者模型 + 阻塞队列 从 0 到 1 全解析

在多线程编程中,我们会遇到线程同步问题:多个线程操作共享资源时,需要让线程在条件不满足时等待,条件满足时唤醒。互斥锁只能解决线程安全,无法解决线程协同等待 / 唤醒,因此条件变量(Condition) 应运而生。本文将从核心 API→原理→封装→实战模型→踩坑全流程讲解,最终实现多生产者多消费者。条件变量核心配合互斥锁使用,解决线程同步 / 等待唤醒Wait是原子操作:释放锁 → 等待 → 抢锁条

文章图片
#linux#缓存#c++ +2
【Linux 多线程实战总结】条件变量 + 生产者消费者模型 + 阻塞队列 从 0 到 1 全解析

在多线程编程中,我们会遇到线程同步问题:多个线程操作共享资源时,需要让线程在条件不满足时等待,条件满足时唤醒。互斥锁只能解决线程安全,无法解决线程协同等待 / 唤醒,因此条件变量(Condition) 应运而生。本文将从核心 API→原理→封装→实战模型→踩坑全流程讲解,最终实现多生产者多消费者。条件变量核心配合互斥锁使用,解决线程同步 / 等待唤醒Wait是原子操作:释放锁 → 等待 → 抢锁条

文章图片
#linux#缓存#c++ +2
Linux/C++ 线程与互斥锁封装学习总结

4.1 线程封装核心用 std::function 封装线程函数,支持多种函数类型。static 入口函数作为跳板,传递 this 指针,解决 pthread 函数格式要求。join/detach 模式控制线程生命周期,避免内存泄漏。4.2 互斥锁封装核心Mutex 类封装 pthread_mutex_t,负责锁的初始化、加锁、解锁、销毁。禁止锁的拷贝/赋值,保证锁的唯一性。LockGuard 用

文章图片
#c++#linux
到底了