自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java分支结构 switch 语句

需求:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。(4)switch语句判断执行。3、举例子:输入月份判断季节。

2025-03-10 14:26:55 218

原创 java分支结构 if 语句

(1)顺序结构(是程序中最简单最基本的流程控制,没有特定的语句结构,就是按照。(3)循环结构(for,while,do…所以程序中添加了0以下和100以上的条件。例子中a 明显不等于b,所以结果输出 “结束”。如果 int b = 10;注意:一个程序是否健壮,就看它是否经受住。程序中大多数的代码都是这样执行的)(2)分支结构(if,switch)1、if 语句格式1。2、if 语句格式2。3、if 语句格式3。

2025-03-10 13:18:44 338

原创 java之运算符

将一个常量赋值给一个变量(比如 int a = 10,将10赋值给int类型的变量a),也可以是将一个变量赋值给另一个变量(比如 a = b,将变量b赋值给变量a);“|” 符号,逻辑或,例如 a|b,如果a和b都是false,则结果为false,否则为true;“&” 符号,逻辑与,例如 a&b,如果a和b都是true,则结果为true,否则为false;“||” 符号,短路或,作用与 | 相同,但有短路效果。“-=” 符号,减后赋值,例如 a -= b,是将a - b 的值赋值给变量a;

2025-03-01 16:03:38 285

原创 java基础语法

Java语言赋予特殊含义的单词,比如class,public等,都是小写,并且代码编辑器上有很直观的特殊颜色标记。(2)标识符是多个单词的时候,第一个单词的首字母小写,其他单词的首字母大写,比如myAge,myName等;(4)标识符是多个单词的时候,所有单词的首字母都大写,比如MyAge,MaName等;(4)float类型的变量,在定义的时候,为防止类型不兼容后面+F,(1)标识符是一个单词的时候,首字母小写,比如 age,name等;(3)long类型的变量,在定义的时候,为防止整数过大后面+L,

2025-02-27 19:31:30 329

原创 JDK下载、安装与环境配置

win+R同时按下输入cmd,输入java -version出现版本信息,输入Javac -version 出现版本信息即可。2.3 命令提示符窗口 输入 java -version,出现java版本信息说明安装成功。1.1 oracle官网 https://www.oracle.com/3.6 点击 新建,输入%JAVA_HOME%\bin,并确定。3.5 系统变量 下拉 找到 Path, 双击进入。3.1 打开系统,选择 高级系统设置。双击打开一直下一步、下一步即可。3.8 检查确认配置结果。

2025-02-25 15:36:43 189

原创 DOS常见命令

2.5 进入多级目录 cd 目录1\目录2…1.3 按下Enter,打开命令提示符窗口。2.8 退出命令提示符窗口 exit。2.3 进入单级目录 cd 目录名。2.2 查看路径下的内容 dir。2.6 回退至盘符目录 cd。2.4 返回上级目录 cd…1.1 同时按下win+R。1.打开命令提示符窗口。2. 常见命令的使用。2.7 清屏 cls。

2025-02-24 11:04:27 165

原创 pytest基础知识点汇总

一、pytest 默认约定:(1)pytest将在当前目录及其子目录中运行所有格式为test_*.py和*_test.py的文件 如果发现只执行当前文件,可能是设置问题: file---setting---tools---python integrated tools---test---default test runner中设置为unittests即可(2)测试方法|函数必须是test开头(3)测试类必须是Test开头(4)assert 直接添加至测试用例后面,失败测试结果是F,成

2022-02-25 13:53:32 1048 1

原创 基于pytest框架实现allure测试报告生成之展示测试数据

一、添加测试数据可以通过使用 pytest.mark.parametrize()装饰器实现。"""使用 pytest.mark.parametrize 添加测试数据"""import osimport allureimport pytest# 登录操作逻辑函数,即执行登录的函数def login(username, password): """登录""" print("用户账户:%s" % username) print("用户密码:%s" % password)

2022-02-24 14:28:29 879

原创 基于pytest框架实现allure测试报告生成之用例描述参数feature,story,title

allure用例描述参数汇总:epic、feature、story、title之间是层级关系的:epic > feature(模块功能点描述) > story(用户场景或故事) > title(测试用例标题)。下面展示feature、story和title的使用栗子:"""allure中对应上元素的一些常见参数:以下概念从大至小 (1)feature:模块名称 (2)story:用例故事或场景 (3)title:对应用例的标题"""import os

2022-02-24 12:44:16 1635

原创 基于pytest框架实现allure测试报告生成之用例描述参数severity

allure用例描述参数汇总:@allure.severity() 用例等级用例等级 allure对用例的等级划分成五个等级:(严重----轻微) blocker 阻塞缺陷(功能未实现,无法下一步) critical 严重缺陷(功能点缺失) normal 一般缺陷(边界情况,格式错误) minor 次要缺陷(界面错误与ui需求不符) trivial 轻微缺陷(必须项无提示,或者提示不规范)使用方法:@allure.severity('等级名称')用例前

2022-02-23 15:37:59 397

原创 基于pytest框架实现allure测试报告生成之基础报告生成操作(一)

一、写一个简单的基于pytest的测试用例test_allure.py:import osimport pytest# pytest的测试用例文件必须是 test_开头或者_test结尾命名# pytest的测试用例类必须是Test开头class Testallure: def test_1(self): print('这是test_1') def test_2(self): print('这是test_2')if __name__ ==

2022-02-23 11:53:24 539

原创 allure生成测试报告环境部署

allure测试报告自动生成美观的图表,测试结果一目了然,可谓是测试报告生成的神器。先来配置一下allure环境。本机已配置好 python,且安装了插件pytest。1、下载安装JDK 1.8建议oracle官方下载(需要注册oracle帐号),https://www.oracle.com/java/technologies/downloads/,根据需要选择对应电脑系统的java版本。我选择的是java8 window系统下的X64 Installer。运行下载的.exe文件并按照提示安装即可

2022-02-17 14:41:07 1443

原创 python zmail库邮件发送

zmail库发送邮件

2022-02-15 12:19:10 816

原创 python日志模块logging

python自带日志模块logging的使用方法:1、首先了解logging模块中的三个组件(1)loggers 日志器 日志入口(2)handlers 处理器 日志信息显示的选择,是显示在文本中还是控制台(3)formatter 格式器 日志信息的格式设置2、其次了解常见日志级别1级别,debug级别:调试级别,一般日志中不会出现2级别,info级别:程序正常3级别,warning级别:警告级别,程序有问题但不影响执行4级别,error级别:错误级别,程序出现错误,需要关注5级别,cr

2021-11-10 12:43:26 712 1

原创 python之RobotFramework的实战

1、cmd执行ride.py2、创建project(1)新建一个project(2)导入数据包导包不成功的右键delete即可。3、实现WebUI测试(1)关键字的查找RF是关键字驱动,在ride界面上Tools下的Search Keywords就是用来检索关键字的。在case_01文件中输入点击run test或者快捷键F8执行测试用例。注意这里需要将执行的测试用例勾选上才能被执行:(2)丰富测试内容open browser #打开浏览器,后面指定打开url与浏览

2021-05-27 17:13:56 408 2

原创 RobotFramework关键字没有open browser问题解决

RobotFramework关键字没有open browser问题解决:是由于新版本RF更新不稳定,解决办法就是安装低版本的RF。根据RobotFrameworkUserGuide的提示:2.8.7和2.9.2都比较的稳定,而3.0版本以后变化就比较大。所以根据提示安装2.9.2版本的试一试安装之前先将之前安装的RF卸载:pip uninstall robotframework开始安装指定版本的RF:pip install robotframework==2.9.2报错了,找不到对应的版本,会

2021-05-27 15:42:36 2792

原创 python至RobotFramework环境搭建

RobotFramework(RF)是python自动化测试中比较重要的测试框架。可以实现WebUI、APPUI、接口的自动化测试。主要特点:(1)关键字驱动(2)不用写代码就可以实现自动化测试(3)支持数据驱动的测试用例(4)HTML格式的测试结果,方便阅读(5)易于管理,方便集成,扩展性强等本机已安装python361、安装RF组件打开cmd依次输入执行安装指令:(1)pip install robotframework(2)pip install robotframework-ri

2021-05-27 11:36:54 237

原创 python之excel操作openpyxl

openpyxl操作excel简单实用,功能强大,可以对excel进行增删改查等操作。workbook:工作簿,就是excel文件sheet:工作表,workbook中有多个sheet,比如 sheet1,sheet2等cell:单元格,存储数据对象开始实际练习:1、cmd中安装openpyxl (pip install openpyxl)2、模块中导包 import openpyxl,床架或者打开一个excel文件和工作表from openpyxl.worksheet import work

2021-05-26 20:43:44 335

原创 python之unittest的ui测试用例02_ddt与yaml的使用

之前写过web ui测试的简单用例python之unittest的ui测试用例01接下来要慢慢增加一些要求精进代码:(1)测试点增多,比如之前测试打开浏览器并输入字符进行检索,如果增加检索内容,比如测试浏览器检索英文、中文、法文等,当然可以写多个def test用例,只需要将send_keys(“python”)中的python换成其他检测内容即可,但是看起来会比较冗余,这里可以将各测试用例前后都会执行的相同操作放到setUp和tearDown中:import unittestfrom selen

2021-05-21 11:31:15 512 3

原创 python之unittest的ui测试用例01

1、承上:unittest测试用例的框架之前文章写过unittest单元测试的示例,展示了unittest的用例框架Python单元测试之Unittest测试用例框架。总结下来unittest测试用例框架:import unittest #导包class test_name(unittest.testCase): #创建一个继承于testCase类的测试类 def setUp(self): print("每个测试用例执行前执行") def tearDown(self): print("

2021-05-20 18:27:36 410 3

原创 python 基础知识梳理 01之容器类型数据

刷题时候发现知识掌握不牢固,需要梳理汇总知识点。基础知识:容器类型数据 set、dict、list、tuple、string。其中list、tuple和string同属于序列。python之set,无序的元素集合,set(value)函数实现获得,且无重复元素增:set.add() 增加一个元素set.update() 增加多个元素删:set.remove()指定一个元素删除,元素不存在会报错set.discard()删除指定的一个元素,元素不存在不会报错set.pop() 随机删除set

2021-05-19 13:14:21 297

原创 python刷题时遇到的知识点01

(1)round(number,digits)例如a = round(3.1415926,2)print(a)#结果返回 3.14;b = round(3.1415926,0)print(b)#返回的结果 3.0;c = round(2.69,0)print(c)#返回结果是3.0所以规则是:根据digits来决定前面number保留几位小数,将number进行四舍五入。但经过实验发现digits是0的时候返回的是留有小数点后一位。(2)filter(function函数,iter

2021-05-19 11:20:58 217

原创 linux常用命令之查看进程 ps命令与三剑客

linux查看进程情况(1)ps aux (可以查看CPU占有率和MEM内存的使用率)(2)ps -ef(查看进程的父进程PPID,子进程等详细信息)linux三剑客sed:擅长取行和替换(1)Sed替换格式是:sed -i ‘s/要替换的内容/替换成的内容/g’ 文件名s :取代,可以直接进行取代的工作g: 是全局的意思(2)sed按行输出sed -n 3p 文件名 输出第三行内容grep:擅长查找(1)grep -n 要匹配的内容 文件名显示匹配到的行内容-n显示行号(2)

2021-05-18 19:27:52 163

原创 python数据结构之二叉树

1、什么是二叉树定义大家看过很多了,直接上图好理解:二叉树的特点:(1)每个节点有0-2个子树,子树分左右,即使只有一个子树也要分左右;(2)除根节点以外,任何一个节点只有一个父节点2、二叉树的遍历实现(迭代)(1)左序遍历class Treenode(): def __init__(self,data): self.data = data self.lchild = None self.rchild = Nonedef dispa

2021-05-11 12:16:33 1088 3

原创 python之信号量方式实现多进程

进程(process)是系统资源分配和调度的最小单位,一个程序至少有一个进程,而一个进程至少有一个线程。多进程开发目的在于充分利用多核系统。实现多进程的方式有很多,这篇文章分享一下利用信号量(Semaphore)实现多进程。from multiprocessing import Process,Semaphoreimport timedef process_a(sema_a,sema_b): while True: sema_a.acquire() prin

2021-05-10 18:20:27 541

原创 python之多线程同步实现

线程(Thread)是CPU分配资源和调度的最小单位。一个程序至少有一个进程,而一个进程至少有一个线程。如果进程中有多个线程且多个线程共享进程的资源就会出现线程对共享资源的使用问题,如此需要线程间的同步。线程间的同步实现有多种机制,这里和大家分享两个实现方式: 锁机制 和 信号量 。1、锁机制_Lock类实现线程同步其中acquire函数进行加锁,用realease函数进行解锁。import threadingimport timedef thread_a(lock_a,lock_b):

2021-05-10 12:36:29 326

原创 python网络编程之基于TCP的套接字socket

1、概念:什么是Socket和TCPSocket(套接字)使得应用程序通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。最开始套接字是用来同一台电脑上的不同应用程序之间的通信。所以套接字分为两种:(1)AF_UNIX基于文件类型,调用的就是底层的文件系统来取数据,两个套接字进程运行在同一机器,可以通过访问同一个文件系统间接完成通信;(2)AF_INET基于网络类型,大部分网络编程使用AF_INET。TCP(Transmission Control Protoco

2021-05-10 11:02:00 177 2

原创 python之I/O操作

python I/O操作就是通过存储介质或网络读取数据。包括有 程序的I/O操作 和 文件的I/O操作。程序的I/O操作:inputname = input("please enter your name:")print("name:" + str(name))文件的I/O操作文件操作流程:(1)打开文件 open(2)对文件操作 read,write,append等(3)关闭文件 closef = open(filename,mode="") #打开文件,mode="r"只读不写,m

2021-05-07 16:37:55 388 1

原创 python数据结构之队列Queue

队列Queue是一种先进先出(FIFO,First In First Out)的线性表。允许一端进行插入(rear),对应的另一段进行删除(front)。本篇包含以下内容:(1)Queue的基本格式(2)入队列en_queue(3)删除数据函数 de_queue1、Queue的基本格式class Queue(): def __init__(self,size): self.size = size self.front = -1 #设置front初始值,每

2021-05-05 18:17:19 937 2

原创 python数据结构之栈stack

栈(Stack)是一种运算受限的线性表。按照先进后出(FILO,First In Last Out)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。栈只能在一端进行插入和删除操作。文章内容包含:(1)栈的基本格式(2)压栈 push_stack(3)出栈 pop_stack(4)取栈顶 peek_stack1、栈的基本格式class Stack(): def __init__ (self,size): self.size = size #栈空间大小

2021-05-05 17:12:02 342

原创 python数据结构之链表的插入、修改、删除、反转

本篇主要包含的python数据结构链表内容:(1)链表的语法结构(2)链表展示display_linklist(3)插入节点insert_node(4)修改节点update_node(5)删除节点dele_node(6)反转链表reverse_linklist1、链表的语法结构class Node(object): def __init__ (self, data): self.data = data self.next = None #这里添加链表di

2021-05-05 15:38:29 1480

原创 C语言之关键字static、const、extern

1、static:声明静态变量声明局部变量,静态局部变量的特点:(1)声明时未赋初值,编译器会自动赋值为0,而普通变量则是不确定的;(2)静态变量在全局数据区分配内存,即使函数返回,静态变量的数值也是保持不变。#include<stdio.h>int c =9;int d;void static_test(void){ static int a = 0;//静态变量,如果不赋初值,编译器会初始化它为0 int b = 0;//普通变量 a++; b++; printf(

2021-05-05 01:10:32 458

原创 C语言之字符串转int和int转字符串

字符串与int整型中间的转换举个简单的例子:字符’a’转换成int整型是多少,ASCII码是97,而’0’(字符零)对应数值0,这样字符’a’ - '0’得到的结果就是字符a对应的int整型。由此int 97转换成字符,则是97 + '0’的结果。1、字符串转int#include<stdio.h>int string2int(char b[],int len){ int i; int c = 0;//string2int reslut int c1; for(i=0;i

2021-05-04 22:48:29 11499

原创 C语言之判断大端、小端

1、判断大端、小端存储需要了解:什么是大端小端?大端存储:就是把一个数的低位字节序的内容存放到高地址处,高位字节序的内容存放在低地址处。数值0x12345678的存储小端存储:就是把一个数的低位字节序的内容存放到低地址处,高位字节序的内容存放在高地址处。数值0x12345678的存储如果是单个字符的存储,如果是大端存储单字符就存储在高地址,而小端存储单字符就存储在低地址。由上内容再结合联合体union的一些特点:(1)所有成员占用同一段内存,且占用内存的大小是占内存最大成员的大小的特点;(2

2021-05-04 21:53:52 949

原创 C语言之求int型数值二进制中1的个数

int型数值占内存4个字节,就是4 * 8 = 32个字符。如果二进制每一位上都判断是否为1的话,最多需要32次来判断。还有两个比较重要的符号需要了解:(1)& 位运算符是把两个不同操作数内相同位置的位关联起来的AND(和),相同位置的值都是1则运算结果该位还是1,一旦有一个是0或两个都是0,则位运算的结果该位都是0。(2)>> << 移位运算符移位运算符将左操作数的二进制向左/右移动数个位置,至于移动几个位置,由右操作数指定。移位数值与移动位数都要求是整数。

2021-05-04 20:32:50 1320

原创 C语言之数组反转

数组反转是数组常见操作。大概来写一写数组反转添加上自己的理解注释。#include <stdio.h>#define N 6int main(){ int a[N] = {0,1,2,3,4,5}; int i; int t; int j; //反转算法 for(i=0;i<N/2;i++) { t = a[i]; a[i] = a[N-1-i]; a[N-1-i] = t;//遍历输出,每对换一对数值就打印一次数组

2021-05-04 18:50:45 12295

原创 C语言之循环语句while、do while、for实例

C语言中三个最重要的循环语句是while、do while、for。循环语句是在满足一定条件下反复执行某些操作的语句,即处理重复操作问题。1、while语句(1)while语句格式:while(条件){ 循环体语句;}(2)while 执行过程:(3)实例:用while语句实现输出 1 - n 之间的所有整型数字(包括n)#include <stdio.h>int main(){ //要求:while循环输出1-n之间的整型数值(包括n) int i =

2021-05-01 16:23:51 2192

原创 C语言之字符串的输入输出

C语言中没有字符串变量即没有string类型,但字符串可以采用字符数组来表示。字符数组就是一系列字符的集合,当字符数组中有‘\0’时才是字符串,没有则是字符集合。1、字符串的赋值形式//有数组长度时char a[3] = {'h','e','l'};//全部赋值则是字符集合,不是字符串char a[3] = {'h','e'};//不完全赋值,后面未赋值元素为'\0',是字符串//没有数组长度char a[]={'h','e','l','l','o',' ','w','o','r','l','

2021-04-30 23:44:19 865 1

原创 C语言之数组冒泡排序

冒泡排序是一种简单、常见的排序方式。#include <stdio.h>int main(){ int a[]={90,8,60,75,25,0,100,50,30,95}; int n = sizeof(a)/sizeof(a[0]);//数组长度 int i=0;//比较的轮数,一轮冒出一个数值,直至剩下一个数值不需要比较,即i最大 = n-1; int j=0;//每轮比较的次数,每一轮的两两比较次数都随着轮数变大而变

2021-04-30 14:59:45 616

原创 C语言之二维数组定义、初始化、赋值、求最大最小、求和

数组可以用来存储多个相同类型的数据,并占用多个连续的内存空间来存储数据。二维数组是有两个下标的数组。1、二维数组定义语法:类型名 数组名[行数][列数];#includ <stdio.h>#define X 5#define Y 6int main(){ int a[3][3]; int b[1+4][2+1]; int c = 2; int d = 3; int e[c][d];//不能是变量,会报错 int f[X][Y];//

2021-04-28 20:58:54 11254

空空如也

空空如也

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

TA关注的人

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