当前位置: 首页 > news >正文

商城自动化测试实战 —— 登录+滑块验证

hello大家好,我是你们的小编!

本商城测试项目采取PO模型和数据分离式架构,采用pytest+selenium+jenkins结合的方式进行脚本编写与运行,项目架构如下:

图片

1、创建项目名称:code_shopping,创建所需项目文件

图片

2、在tools层中建立 get_log.py文件,复制以下代码

     此为项目日志工具,使用时直接调用即可

import logging.handlers
from conftest import BASE_PATH
import os# 新建类
class GetLog:# 新建一个日志变量__logger = None# 新建获取日志的方法@classmethoddef get_logger(cls):# 判断日志器为空if cls.__logger is None:# 获取日志器cls.__logger = logging.getLogger()# 修改默认的级别cls.__logger.setLevel(logging.INFO)log_path = BASE_PATH + os.sep + "result" + os.sep+"log" + os.sep + "AT.log"# 获取处理器th = logging.handlers.TimedRotatingFileHandler(filename=log_path,when="midnight",interval=1,backupCount=3,encoding="utf-8")# 获取格式器fmt = "%(asctime)s%(levelname)s[%(filename)s(%(funcName)s:%(lineno)d)]-%(message)s"fm = logging.Formatter(fmt)# 将格式器添加到处理器中th.setFormatter(fm)# 将处理器添加到日志器中cls.__logger.addHandler(th)# 返回日志器return cls.__loggerif __name__ == '__main__':log = GetLog.get_logger()log.info("1111")log.error("22222")

3、在scripts中建立 sh_login文件夹和 test_login.py文件

     开始编写商城登录页面代码

图片

4、在test_login.py中编写脚本

     商城登录页面包含:帐号+密码+滑动验证码的混合验证模式

     4.1首先将验证码的2张图片下载到本地(注意填写等待图片加载时间),通过商城HTML页面发现图片经过base64加密,需解码保存本地

图片

# 获取图片的地址
# sleep(3)
img = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[3]/div[1]/img[1]'))
img2 = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[3]/div[1]/img[2]'))s = img.get_attribute("src")
s2 = img2.get_attribute("src")
# print(type(s))
# print(s)
# 使用split()函数将字符串拆分成多个数字
numbers = s.split(",")
numbers2 = s2.split(",")
# print(numbers)
# print(type(numbers))
# 获取图片的base64加密数据
djd = numbers[1]
djd2 = numbers2[1]
# 输出提取出的数字
# print(djd)
# base64解码
lk = base64.b64decode(djd)
lk2 = base64.b64decode(djd2)
# 获取图片到本地
pic = open("re.png", "wb")
pic2 = open("can.png", "wb")
pic.write(lk)
pic2.write(lk2)
pic.close()
pic2.close()

4.2 对图像进行处理,计算出滑块的拖动距离(此方法单独写在test001.py文件,方便调用)

import cv2# 对图像处理
def handel_img(img):imgGray = cv2.cvtColor(img, cv2.COLOR_RGBA2GRAY)  # 转灰度图imgBlur = cv2.GaussianBlur(imgGray, (5, 5), 1)  # 高斯模糊imgCanny = cv2.Canny(imgBlur, 60, 60)  # Canny算子边缘检测return imgCanny# 读取图像
def match(img_jpg_path, img_png_path):# 读取图像img_jpg = cv2.imread(img_jpg_path, cv2.IMREAD_UNCHANGED)img_png = cv2.imread(img_png_path, cv2.IMREAD_UNCHANGED)img = handel_img(img_jpg)small_img = handel_img(img_png)res_TM_CCOEFF_NORMED = cv2.matchTemplate(img, small_img, 3)value = cv2.minMaxLoc(res_TM_CCOEFF_NORMED)value = value[3][0]  # 获取到移动距离return valueif __name__ == '__main__':dd = match('./re.png', './can.png')print(dd)

4.3 最后模拟鼠标点击拖动滑块动作,完成验证

# 计算要滑动的距离
dd = match('./re.png', './can.png')
print(dd)
sleep(2)
# 拖动滑块
# 找到拖动元素
slider = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[3]/div[2]/span[2]'))
# 按住按钮
ActionChains(driver).click_and_hold(slider).perform()
sleep(1)
# 滑动距离对应距离
ActionChains(driver).move_by_offset(xoffset=dd, yoffset=0).perform()
sleep(3)
# 放开鼠标
ActionChains(driver).release().perform()

4.4 完成输入,验证,登录进入系统,判断是否登录成功

# 判断是否登录成功
getshu = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[3]/div/ul[1]/ul/li[1]')).text
# print(getshu)
if getshu == "Hi,欢迎来到lilishop":print("登录成功")
else:print("登录失败")

5、完整代码如下

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
import base64
from scripts.sh_login.test001 import match
from selenium.webdriver import ActionChains# 启动浏览器驱动
driver = webdriver.Chrome()
# 最大化
driver.maximize_window()
# 输入商城地址
driver.get("https://pc-b2b2c.pickmall.cn/login")
sleep(1)
# 输入用户名和密码
driver.find_element(By.CSS_SELECTOR, ("[placeholder='用户名']")).send_keys("ceshi")
sleep(1)
driver.find_element(By.CSS_SELECTOR, ("[placeholder='密码']")).send_keys("123456")
sleep(1)
# 点击登录按钮
driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[2]/div[3]/div[1]/form[1]/div[3]/div/button')).click()sleep(2)
# 滑动滑块
# 获取图片的地址
# sleep(3)
img = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[3]/div[1]/img[1]'))
img2 = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[3]/div[1]/img[2]'))s = img.get_attribute("src")
s2 = img2.get_attribute("src")
# print(type(s))
# print(s)
# 使用split()函数将字符串拆分成多个数字
numbers = s.split(",")
numbers2 = s2.split(",")
# print(numbers)
# print(type(numbers))
# 获取图片的base64加密数据
djd = numbers[1]
djd2 = numbers2[1]
# 输出提取出的数字
# print(djd)
# base64解码
lk = base64.b64decode(djd)
lk2 = base64.b64decode(djd2)
# 获取图片到本地
pic = open("re.png", "wb")
pic2 = open("can.png", "wb")
pic.write(lk)
pic2.write(lk2)
pic.close()
pic2.close()# 计算要滑动的距离
dd = match('./re.png', './can.png')
print(dd)
sleep(2)
# 拖动滑块
# 找到拖动元素
slider = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[2]/div[3]/div[2]/span[2]'))
# 按住按钮
ActionChains(driver).click_and_hold(slider).perform()
sleep(1)
# 滑动距离对应距离
ActionChains(driver).move_by_offset(xoffset=dd, yoffset=0).perform()
sleep(3)
# 放开鼠标
ActionChains(driver).release().perform()
sleep(5)
# 判断是否登录成功
getshu = driver.find_element(By.XPATH, ('//*[@id="app"]/div/div[3]/div/ul[1]/ul/li[1]')).text
# print(getshu)
if getshu == "Hi,欢迎来到lilishop":print("登录成功")
else:print("登录失败")
# 关闭浏览器
driver.quit()

6、完成整个登录过程,成功视频如下

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

相关文章:

商城自动化测试实战 —— 登录+滑块验证

hello大家好,我是你们的小编! 本商城测试项目采取PO模型和数据分离式架构,采用pytestseleniumjenkins结合的方式进行脚本编写与运行,项目架构如下: 1、创建项目名称:code_shopping,创建所需项目…...

8.计算机视觉—增广和迁移

目录 1.数据增广数据增强数据增强的操作代码实现2.微调 迁移学习 Transfer learning(重要的技术)网络结构微调:当目标数据集比源数据集小得多时,微调有助于提高模型的泛化能力。训练固定一些层总结代码实现1.数据增广 CES上的真实故事 有一家做智能售货机的公司,发现他们…...

【Matlab】-- BP反向传播算法

文章目录 文章目录 00 写在前面01 BP算法介绍02 基于Matlab的BP算法03 代码解释 00 写在前面 BP算法可以结合鲸鱼算法、飞蛾扑火算法、粒子群算法、灰狼算法、蝙蝠算法等等各种优化算法一起,进行回归预测或者分类预测。 01 BP算法介绍 BP(Backpropag…...

【Python】 数据分析中的常见统计量:众数

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 🎵 王心凌《那年夏天宁静的海》 众数(Mode)是统计学中另…...

Karabiner-Elements 设置mac键盘

软件下载地址: Karabiner-Elements 修改键盘位置,但是重启后,就消失了。 {"description": "New Rule (change left_shiftcaps_lock to page_down, right_shiftcaps_lock to left_commandmission_control)","manip…...

Mybatis实现流程

一&#xff0c;UserDAO 接口定义 首先&#xff0c;定义 UserDAO接口&#xff0c;包含 getList()方法,定义类型为List<User>&#xff1a; package dao;import model.User; import java.util.List;public interface UserDAO {List<User> getList(); }二&#xff0c…...

简单的springboot整合activiti5-serviceImpl部分(1)

简单的springboot整合activiti5.22.0-serviceImpl部分(1) 原来的流程serviceImpl部分代码过多&#xff0c;所以此处单独记录一下&#xff0c;此处记录的是serviceImpl第一部分代码 package cn.git.workflow.service.impl;import cn.git.cache.api.BaseCacheApi; import cn.gi…...

snat、dnat和firewalld

目录 概述 SNAT源地址转换 DANT目的地址转换 抓包 firewalld 端口管理 概述 snat &#xff1a;源地址转换 内网——外网 内网ip转换成可以访问外网的ip 也就是内网的多个主机可以只有一个有效的公网ip地址访问外部网络 DNAT&#xff1a;目的地址转发 外部用户&#…...

[数据集][目标检测]鸡蛋缺陷检测数据集VOC+YOLO格式2918张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2918 标注数量(xml文件个数)&#xff1a;2918 标注数量(txt文件个数)&#xff1a;2918 标注…...

前后端防重复提交

数据重复提交是一个大忌&#xff0c;会带来无效数据&#xff0c;应该在前端和后端都建议检测防范。 前端一般是按钮按下触发数据提交&#xff0c;如果用户鼠标操作习惯不好&#xff0c;或者鼠标或系统设置问题会导致鼠标连击&#xff0c;如果前端不做相关处理&#xff0c;可能会…...

JVM专题八:JVM如何判断可回收对象

在JVM专题七&#xff1a;JVM垃圾回收机制中提到JVM的垃圾回收机制是一个自动化的后台进程&#xff0c;它通过周期性地检查和回收不可达的对象&#xff08;垃圾&#xff09;&#xff0c;帮助管理内存资源&#xff0c;确保应用程序的高效运行。今天就让我们来看看JVM到底是怎么定…...

binary_cross_entropy_with_logits函数的参数设定

binary_cross_entropy_with_logits 该函数参数&#xff1a; logits (Tensor) - 输入预测值。其数据类型为float16或float32。 label (Tensor) - 输入目标值&#xff0c;shape与 logits 相同。数据类型为float16或float32。 weight (Tensor&#xff0c;可选) - 指定每个批次二…...

Python 面试【★★★★★】

欢迎莅临我的博客 &#x1f49d;&#x1f49d;&#x1f49d;&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

C# StringBuilder

以下是一些基本的 StringBuilder 使用方法&#xff1a;创建 StringBuilder 实例&#xff1a;追加字符串&#xff1a;插入字符串&#xff1a;删除字符串&#xff1a;替换字符串&#xff1a;清空 StringBuilder&#xff1a;转换 StringBuilder 为字符串&#xff1a;使用容量&…...

4个文章生成器免费版分享,让文章创作更轻松便捷

在当今这个信息飞速传播的时代&#xff0c;文章创作的重要性愈发凸显。无论是从事内容创作的专业人士&#xff0c;还是偶尔需要撰写文章的普通大众&#xff0c;都希望能更高效地完成文章创作任务。而在实际操作中&#xff0c;我们常常会遇到思路卡顿、没有创作灵感的问题。今天…...

redis-cluster(集群模式搭建)

redis中间件版本: redis-5.0.5环境介绍 这里使用服务器数量3&#xff0c;分别为172.0.0.1&#xff0c;172.0.0.2&#xff0c;172.0.0.3&#xff0c;每台机器redis节点数量2个&#xff0c;共6个redis节点构成redis-cluster模式。编译安装包 在172.0.0.1的机器上进入安装目录 cd …...

使用vite官网和vue3官网分别都可以创建vue3项目

问: npm init vitelatest 和 npm create vuelatest创建的vue3项目有什么区别? 回答: npm init vitelatest 和 npm create vuelatest 分别是使用 Vite 和 Vue CLI 工具创建 Vue 项目的两种方式&#xff0c;它们之间有几个主要区别&#xff1a; 1. **构建工具&#xff1a;** …...

PDF处理篇:如何调整 PDF 图像的大小

将视觉效果无缝集成到 PDF 中的能力使它们成为强大的通信工具。然而&#xff0c;笨拙的图像大小会迅速扰乱文档的流程&#xff0c;阻碍清晰度和专业性。幸运的是&#xff0c;GeekerPDF 和Adobe Acrobat等流行的应用程序提供了用户友好的解决方案来应对这一挑战。这个全面的指南…...

STM32 HAL库里 串口中断回调函数是在怎么被调用的?

跟着正点原子学习的HAL库写串口接收程序的时候一直有困惑&#xff0c;使用HAL_UART_Receive_IT开启接收中断后&#xff0c;为啥处理函数要写在HAL_UART_RxCpltCallback里&#xff0c;中断发生的时候是怎么到这个回调函数里去的&#xff1f; void MX_USART1_UART_Init(void) {h…...

音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析

音视频入门基础&#xff1a;H.264专题系列文章&#xff1a; 音视频入门基础&#xff1a;H.264专题&#xff08;1&#xff09;——H.264官方文档下载 音视频入门基础&#xff1a;H.264专题&#xff08;2&#xff09;——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…...

RT-Thread ENV-Windows v2.0.0安装教程

前言 前几天RT-Thread官方更新了env工具&#xff0c;开源仓库的Kconfig的写法都不大一样了&#xff1b;如果继续用原来的env工具&#xff0c;拉新代码之后很多示例都编译不了 在最新的env工具中menuconfig全面采用kconfiglib&#xff0c;升级env脚本和python版本&#xff0c;改…...

[HBM] HBM TSV (Through Silicon Via) 结构与工艺

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR》 全文 3300 字。 1 概念 1.1 什么是HBM TSV 使用 TSV 堆叠多个DDR DRAM成为一块HBM, 成倍提高了存储器位宽&#xff0c; 一条位宽相当于高速公路的一条车道&#xff0c; 车道越多&#xff…...

基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统

一、引言 本文介绍了一个基于STM32的恒温控制箱检测系统&#xff0c;该系统通过DHT11温湿度传感器采集环境中的温湿度数据&#xff0c;并利用TFT LCD屏幕进行实时显示。通过按键切换页面显示&#xff0c;通过按键切换实现恒温控制箱的恒温控制。为了验证系统的可靠性和稳定性&…...

【Qt+opencv】编译、配置opencv

文章目录 前言下载opencv编译opencvmingw版本 总结 前言 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库&#xff0c;它包含了超过2500个优化的算法。这些算法可以用来检测和识别面部&#xff0c;识别对象&#x…...

RDMA建链的3次握手和断链的4次挥手流程?

文章目录 基础信息建链 3次握手断链4次挥手建联状态active端passive端 报文结构函数关系其他后记 基础信息 CM: Communication Management 通信管理 连接管理SIDR: Service ID Resolution Protocol. 作用&#xff1a; enables users of Unreliable Datagram service to locate …...

实验4 图像空间滤波

1. 实验目的 ①掌握图像空间滤波的主要原理与方法&#xff1b; ②掌握图像边缘提取的主要原理和方法&#xff1b; ③了解空间滤波在图像处理和机器学习中的应用。 2. 实验内容 ①调用 Matlab / Python OpenCV中的函数&#xff0c;实现均值滤波、高斯滤波、中值滤波等。 ②调…...

独辟蹊径:我是如何用Java自创一套工作流引擎的(下)

作者&#xff1a;后端小肥肠 创作不易&#xff0c;未经允许严禁转载。 姊妹篇&#xff1a;独辟蹊径&#xff1a;我是如何用Java自创一套工作流引擎的&#xff08;上&#xff09;_java工作流引擎-CSDN博客 1. 前言 在上一篇博客中&#xff0c;我们详细介绍了如何利用Java语言从…...

【Python】pycharm常用快捷键操作

目录 一.pycharm自定义修改快捷键 二.pycharm默认常用快捷键 一.pycharm自定义修改快捷键 在file-setting-keymap中可以修改快捷键&#xff0c;建议刚开始没特殊需求就不用修改&#xff0c;先熟悉系统默认的常用快捷键&#xff0c;但是以下情况可以考虑修改: 之前使用其他I…...

es6语法复习一

es6语法 1.var 变量提升 2.let 不存在变量提升&#xff0c;只能定义一次 3.const 先定义再使用&#xff0c;定义好来不能修改 4.解构赋值 [a,b,c][1,2,3],{a,b,c}{a:1,b:2,c:3} 5.模版字符串 let aaa; ${a} is ok 6.对象简化写法 const school{ name, change, improve(){ cons…...

【python入门】自定义函数

文章目录 定义自定义函数的基本语法参数类型示例代码函数作用域匿名函数&#xff08;Lambda&#xff09;闭包装饰器 Python中的自定义函数允许你编写一段可重用的代码块&#xff0c;这段代码可以带参数&#xff08;输入&#xff09;&#xff0c;并可能返回一个值&#xff08;输…...

ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验

文章目录 什么是ONLYOFFICE &#xff1f;ONLYOFFICE 桌面编辑器 8.1 发布&#xff1a;新功能和改进功能强大的 PDF 编辑器幻灯片版式功能从右至左语言支持多媒体功能增强无缝切换工作模式其他改进和优化总结 什么是ONLYOFFICE &#xff1f; https://www.onlyoffice.com/zh/off…...

ESP32实现UDP连接——micropython版本

代码&#xff1a; import network import socket import timedef wifiInit(name, port):ap network.WLAN(network.AP_IF) # 创建一个热点ap.config(essidname, authmodenetwork.AUTH_OPEN) # 无需密码ap.active(True) # 激活热点ip ap.ifconfig()[0] # 获取ip地址print(…...

Windows Ternimal

Windows Ternimal 安装 Windows 终端概述 | Microsoft Learn wt --help在当前目录打开 lextm/windowsterminal-shell: Install/uninstall scripts for Windows Terminal context menu items 打开指定目录 wt -d %USERPROFILE% ohmyposh 美化 1 安装 2 添加 ohmyposh bin…...

Unity扩展编辑器功能的特性

1.添加分组标题 用于在Unity的Inspector视图中为属性或变量组创建一个自定义的标题或头部&#xff0c;有助于在Inspector中组织和分类不同的属性&#xff0c;使其更易于阅读和管理。 [Header("Common Properties")] public float MouseSensitivity 5; public float…...

API类别 - UI核心

API类别 - UI核心 引言 在当今的数字时代,用户界面(UI)是任何软件或应用成功的关键因素之一。UI核心API作为构建用户界面的基础,提供了丰富的功能和工具,使得开发者能够创建出既美观又实用的用户界面。本文将深入探讨UI核心API的不同类别,以及它们如何影响现代软件开发…...

Redis-主从复制-配置主从关系

文章目录 1、修改配置文件中的 bind ,注释该配置,取消绑定仅主机登录2、修改protected-mode 为no,取消保护模式3、查看redis的进程状态4、配置6380是6379的从机5、配置6381是6379的从机6、查看主机 6379 的主从信息 1、修改配置文件中的 bind ,注释该配置,取消绑定仅主机登录 …...

DigiRL:让 AI 自己学会控制手机

类似于苹果此前发布的Ferret-UI 的安卓开源平替。主要用于在 Android 设备上识别 UI 和执行指令&#xff0c;不同的是它利用了离线到在线强化学习&#xff08;Offline-to-Online RL&#xff09;&#xff0c;能够快速适应应用更新或 UI 变化。...

04.Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法

文章目录 设置方法配置文件设置Custom xxx配置文件详细的配置方法.xml文件的整体格式基础参数格式value-attributes配置介绍设置属性在服务安装后不可修改设置允许字段为空是否显示配置名称参数类型设置字符串类型PasswordBooleanIntFloatDirectoryDirectoriesContent-多行文本…...

LSTM时间序列基础学习

时间序列 时间序列可以是一维&#xff0c;二维&#xff0c;三维甚至更高维度的数据&#xff0c;在深度学习的世界中常见的是三维时间序列&#xff0c;这三个维度分别是&#xff08;batch_size,time_step,input_dimensions&#xff09;。 其中time_step是时间步&#xff0c;它…...

『Z-Workshop』 6月22日线下ALCOVE分享活动

2024 求是创新 ZJUBCA Sponsored by the ALCOVE Community TIME&#xff1a;2024/06/22 ADD&#xff1a;浙江大学紫金港校区 --- Alcove 是 Aptos 公链与 Alibaba Cloud 共同打造的亚洲首个 Move 开发者社区&#xff0c;致力于支持开发者使用 Move 语言构建下一代 Web3 应用&am…...

【机器学习】机器学习重要方法——迁移学习:理论、方法与实践

文章目录 迁移学习&#xff1a;理论、方法与实践引言第一章 迁移学习的基本概念1.1 什么是迁移学习1.2 迁移学习的类型1.3 迁移学习的优势 第二章 迁移学习的核心方法2.1 特征重用&#xff08;Feature Reuse&#xff09;2.2 微调&#xff08;Fine-Tuning&#xff09;2.3 领域适…...

uniapp, ‍[⁠TypeError⁠]‍ “Failed to fetch dynamically imported module“ 报错解决思路

文章目录 1. 背景2. 报错3. 解决思路4. 思考参考1. 背景 最近基于uniapp开发一款设备参数调试的APP软件,在使用第三方插件的过程中,出现下面的报错。 2. 报错 [plugin:vite:import-analysis] Cannot find module ‘D:/leaning/uniapp/demo/jk-uts-udp示例/uni_modules/uts-…...

四川省高等职业学校大数据技术专业建设暨专业质量监测研讨活动顺利开展

6月21日&#xff0c;省教育评估院在四川邮电职业技术学院组织开展全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动。省教育评估院副院长赖长春&#xff0c;四川邮电职业技术学院党委副书记、校长冯远洪&#xff0c;四川邮电职业技术学院党委委员、副校长程德杰等出席…...

深入解析三大跨平台开发框架:Flutter、React Native 和 uniapp

深入解析三大跨平台开发框架&#xff1a;Flutter、React Native 和 uniapp 在移动开发中&#xff0c;跨平台开发框架已经成为开发者的首选工具。本篇将深入解析三大主流跨平台开发框架&#xff1a;Flutter、React Native 和 uniapp。下面将详细探讨它们的原理、优势和劣势。 …...

【吊打面试官系列-MyBatis面试题】#{}和${}的区别是什么?

大家好&#xff0c;我是锋哥。今天分享关于 【#{}和${}的区别是什么&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; #{}和${}的区别是什么&#xff1f; #{} 是预编译处理&#xff0c;${}是字符串替换。 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网…...

解决HTTP 400 Bad Request错误的方法

解决HTTP 400 Bad Request错误的方法 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在进行网络通信时&#xff0c;HTTP 400 Bad Request错误是相对常见的问题…...

Html的表单标签。(Java程序员需要掌握的前端)

表单标签 2.5.1 表单 2.5.1.1 介绍 那表单呢,在我们日常的上网的过程中,基本上每天都会遇到。比如&#xff0c;我们经常在访问网站时&#xff0c;出现的登录页面、注册页面、个人信息提交页面&#xff0c;其实都是一个一个的表单 。 当我们在这些表单中录入数据之后&#xf…...

Arduino (esp ) 下String的内存释放

在个人的开源项目 GitHub - StarCompute/tftziku: 这是一个通过单片机在各种屏幕上显示中文的解决方案 中为了方便快速检索使用了string&#xff0c;于是这个string在esp8266中占了40多k,原本以为当string设置为""的时候这个40k就可以回收&#xff0c;结果发觉不行…...

图灵虚拟机配置

导入虚拟机 点击新建&#xff0c;选择虚拟硬盘文件 环境机器.vmdk 配置网络...

【SQL常用日期函数(一)】

SQL 常用日期函数-基于impala 引擎 当前日期&#xff08;YYYY-MM-DD&#xff09; SELECT CURRENT_DATE(); -- 2024-06-30昨天 SELECT CURRENT_DATE(); -- 2024-06-30 SELECT CAST( DAYS_ADD(TO_DATE( CURRENT_DATE() ), -1 ) AS VARCHAR(10) ); -- 2024-06-29 SELECT CAST( …...

如何在Spring Boot中使用AOP

如何在Spring Boot中使用AOP 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨在Spring Boot中如何利用AOP&#xff08;Aspect-Oriented Programmi…...

vue3使用pinia中的actions,需要调用接口的话

actions&#xff0c;需要调用接口的话&#xff0c;假如页面想要调用actions中的方法获取数据&#xff0c; 必须使用try catch async await 进行包裹&#xff0c;详情看下面代码 import {defineStore} from pinia import {reqCode,reqUserLogin} from ../../api/hospital/i…...

云计算【第一阶段(26)】Linux网络设置

一、查看网络配置 1.查看网络接口信息ifconfig 查看所有活动的网络接口信息 2.ifconfig命令 查看指定网络接口信息 ifconfig 网络接口 &#xff08;1&#xff09;第一行&#xff1a;以太网卡的名字 ens33其中en代表以太网卡&#xff0c; centos6的是eth0&#xff0c; e…...

昇思25天学习打卡营第10天|ResNet50迁移学习

文章目录 昇思MindSpore应用实践基于MindSpore的ResNet50迁移学习1、迁移学习简介2、加载ImageNet数据集数据集可视化 3、ResNet50 模型4、模型训练固定特征进行训练 5、模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 基于…...

JavaDS预备知识

集合框架 Java 集合框架 Java Collection Framework &#xff0c;又被称为容器 container &#xff0c;是定义在 java.util 包下的一组接口 interfaces和其实现类 classes 。 其主要表现为将多个元素 element 置于一个单元中&#xff0c;对数据进行创建(Create)、读取(Retrieve…...

CPU占用率飙升至100%:是攻击还是正常现象?

在运维和开发的日常工作中&#xff0c;CPU占用率突然飙升至100%往往是一个令人紧张的信号。这可能意味着服务器正在遭受攻击&#xff0c;但也可能是由于某些正常的、但资源密集型的任务或进程造成的。本文将探讨如何识别和应对服务器的异常CPU占用情况&#xff0c;并通过Python…...

一串“蕉绿”、一辆BJ30,自在生活竟如此简单?

近日,一款外形金黄矮胖,长相酷似“小黄人”的苹果蕉火爆网络。据报道,苹果蕉养着养着,就会从绿变黄,意味着焦虑化散。因此,插上一串“蕉绿”也成为当代年轻人办公桌上的新景观。事实上,能够远离焦虑的不止苹果蕉,还有刚刚上市不久的北京汽车BJ30。作为北京汽车精心打造…...

市场巨变,移动开发行业即将迎来“第二春”?

随着鸿蒙生态的不断壮大&#xff0c;越来越多的企业开始加入其中&#xff0c;对鸿蒙OS开发工程师的需求也越来越迫切。 年初时还只有200个APP宣布加入鸿蒙生态&#xff0c;而最近华为也已经官宣&#xff0c;已经有4000多个应用加入鸿蒙&#xff0c;短短三个月就增加了20倍。 …...

UE5文件操作

首先在虚幻引擎中创建UMyBlueprintFunctionLibrary类&#xff0c;可以在该类中写我们重复利用的功能&#xff0c;并且这些功能不依赖于特定的游戏对象&#xff0c;方便全局调用。 1.文件的读取和写入 UFUNCTION(BlueprintCallable, Category "File")static bool lo…...

解读一下15.52.34.160/27

IP地址15.52.34.160/27可以分解为两部分来解读&#xff1a; IP地址: 15.52.34.160 这是分配给网络接口的地址&#xff0c;用于在网络中标识一个特定的设备。 子网掩码: /27 这表示子网掩码是27位长&#xff0c;意味着网络部分占据了IP地址的前27位&#xff0c;剩下的5位用于主…...

qmt量化交易策略小白学习笔记第8期【qmt编程之获取股票资金流向数据--内置Python】

qmt编程之获取股票资金流向数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;需免费开通量化回测与咨询实盘权限&#xff0c;可以和博主联系&#xff01; 获取股票资金…...

嵌入式C语言指针详细解说

各位伙伴大家好,在实现操作系统的控制的时候,经常需要使用到指针,利用这次详细分析一下指针的用法。 C语言指针真正精髓的地方在于指针可以进行加减法,这一点极大的提升了程序对指针使用的灵活性,同时也带来了不小的学习负担。正是因为C语言指针可运算,才奠定了如今C语言…...