自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue入门

Attribute 绑定v-bind:取值方式。

2023-08-16 10:09:34 1077

原创 python碾转取余约分算法

【代码】python碾转取余约分算法。

2022-11-19 22:45:12 659 1

转载 org.apache.tomcat.jni.LibraryNotFoundError tcnative-1.dll 异常

https://blog.csdn.net/qq_23412263/article/details/117331958

2022-03-30 21:04:03 316

原创 Mybatis动态SQL

1. if格式<if test=判断条件> sql语句 </if><select id="select" resultType="Blog"> SELECT * FROM BLOG WHERE state = 'ACTIVE'-- 当 title不为null时,sql增加以下条件 <if test="title != null"> AND title like #{title} </if>

2022-03-23 21:00:47 448

原创 Mybatis逆向工程(数据库表自动生成mapper和实体类)

1.依赖<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <dependencies> <dependency><!--

2022-03-23 20:59:26 1464

原创 linux安装postgresql14及python连接数据库

1.安装官方安装方法,分别执行以下命令sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -sudo apt-ge

2022-03-09 22:59:44 4731

原创 Mybatis连接数据库

1.下载依赖mybatis和对应的数据库驱动 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.9</version> </depend

2022-02-26 08:34:19 1004

原创 springioc基本使用.md

1.IOC概念Inversion of Control,控制反转即将对象的控制权交由spring,由spring代替人工去操作对象,省去了操作对象的代码操作包括创建,初始化,销毁等主要用到以下名词bean:spring中一个bean代表一个对象,对象的其它属性设置都基于beancontext:上下文管理窗口,用于从Spring获取对象2.配置方式配置方式有三种XML方式JAVA代码方式混合方式,即JAVA代码中读取XML配置方式主要依赖spring-context包<de

2022-02-16 20:21:44 146

原创 Django删除数据表后,再重新生成新数据表

删除数据表后,数据库的Django migrations数据未删除,如果直接命令行调用如下命令,是不会再生成数据表的Python manager.py makemigrationsPython manager.py migrate需要先删除数据库的建表数据,才能重新创建Delete from django_migratiins where app='app_name'然后再重新调用迁移命令即可...

2021-11-23 09:25:07 1827

原创 Java使用fastJson解析复杂Json

实现字符串方式调用复杂json传值 "freeform.test2[0].test3" 调用返回的是键 test3的值对象思想是利用 for 中变量迭代import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import java.io.PrintStream;public class Demo2 { public static int getIndex(String str){

2021-09-02 21:58:10 737

原创 TestNG+Allure生成测试报告

1.allure依赖配置查看allure官网显示配置如下<properties> <aspectj.version>1.8.10</aspectj.version></properties><dependencies> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>al

2021-07-29 22:42:41 1376 1

原创 multiprocessing模块实现多进程

1.简单实例通过pool进程池创from multiprocessing import Pooldef f(x): return x*xif __name__=='__main__': with Pool(5) as p: #进程池中创建5个进程,去执行f print(p.map(f,[1,2,3])) 通过Process类创建,创建一个Process类,然后调用它的start()方法来生成启动进程,通过Thread类创建线程from multiproce

2021-02-22 16:51:36 220

原创 python+uiautomator2 实现多设备并行

由于python的全局解释器锁,无法实现线程并行,要想实现并行,可以通过多进程实现创建多进程需要用到python模块为mulitmultiprocessing,具体用法和多线程差不多进入正题:首先,创建一个project_conf.py的配置文件,用来存放手机的sn号,这个sn号需要全局用到,而且不会改变#project_conf.py#默认为空PROJECT_SN = ''然后创建一个读取设备SN号的函数,随便哪个模块,能调用就行,我是放在入口文件main.py中def get_devi

2021-02-20 11:39:49 3550

原创 python迭代器与可迭代对象

实现了 __iter__ 方法的对象称为可迭代对象 实现了 __iter__ 和 __next__ 方法的对象称为迭代器对象,官方文档称为迭代器协议 for...in...语句可以自动将可迭代对象变为迭代器,当 in 后的对象为一个迭代器时,会调用该对象的 __iter__ 两次 list,turpe,dict等均为可迭代对象class MyIter: # 这是一个迭代器# 实现了 iter 和 next 两个方法的对象称为迭代器对象 def __init__(self): ..

2021-02-04 15:23:44 209

原创 dockerfile构建cts运行环境

前言:目前因为需要在android10,11各版本测试cts,而两个android版本所需要的环境略有不一样,故尝试使用docker来隔离环境,后续更新只需要将cts和所需要的工具版本替换重新构建即可,提高测试环境布置效率1.所需工具主要需要工具android-sdkjdk11cts工具包这里要注意cts主要用到android-sdk内的“build-tools”和“ platform-tools ”内的工具,保留这两个即可,尽量保证镜像不会过大我刚开始创建没有去除其它工具构建的镜像有10G

2020-12-30 16:16:24 324 3

原创 Dockerfile命令说明

命令作用FROM指定基础镜像名,必需MAINTAINER备注信息RUN执行命令,运行一次RUN会产生一个文件层,尽可能少的使用RUNCMD指定镜像启动时默认执行的命令LABEL添加无数据,如版本号,构建日期等EXPOSE指定对外暴露的端口号ENV添加环境变量ADD向镜像中添加新文件或者新目录COPY从主句向镜像复制文件ENTRYPOINT从镜像中默认执行的二进制程序VOLUME向镜像中挂载一个卷组US...

2020-12-29 17:45:06 103 1

原创 selenium+docker分布式运行

1.docker镜像下载docker search selenium查找selenium相关的镜像,选择红框下载docker pull selenium/hub #用于管理节点docker pull selenium/node-chrome-debug #chrome节点docker pull selenium/node-firefox-debug #firefox节点2. 启动selenium hubdocker run -d -p 4444:4444 --name hub sele

2020-12-24 17:56:22 530 1

原创 排序sort与去重uniq

1.sort排序命令,将指定文件或者输入的内容排序后输出到标准输出格式sort option [file or input]选项说明常规选项: -b, --ignore-leading-blanks 忽略前导空格 -d, --dictionary-order 仅考虑空格和字母数字字符 -f, --ignore-case 忽略大小写,最终以大写比较 -g, --general-numeric-sort 以数字方式进行比较(文件中读取出来的都是字符

2020-12-11 14:37:49 1802

原创 ps,top,kill命令基本使用

1.ps查看进程用于监控系统进程# 查看所有进程信息$ ps aux | head#用户名 进程id VSZ=虚拟内存使用量 RSS=USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 126068 3616 ? Ss Oct29 14:45 /usr/lib/systemd/systemd --switched-root

2020-12-10 18:26:32 522 1

原创 scp远程复制命令

1.什么是scp使用 man scp查看文档描述如下 scp copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same security as ssh(1). Unlike rcp(1), scp will ask for passwords or passphrases if they are ne

2020-12-09 17:15:11 412

原创 linux三剑客与正则

一、正则表达式#参考https://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html1.1 正则的分类1、基本正则 BREs (Basic Regular Expression )2、扩展正则 EREs (Extended Regular Expression)3、Perl正则 (Perl Regular Expression )4、python 正则1.2 正则优先级从上到下计算优先级运算符描述\转义

2020-12-09 15:43:44 307

原创 shell基础

1.运行shell脚本的两种方法# 第一种chmod +x 路径(使用文件有执行权限)然后 ./路径 # 第二种/bin/sh 路径(sh可以是其它编译器)2.shell变量a.定义变量:变量名和=号之间不能有空格必须以字母开头不能使用bash里的关键字其它同其它高级语言b.使用变量:在变量面前加一个或者或者或者{}符号即可最好使用 ${} 这种形式c.只读变量myurl="www.baidu.com"# 使用readonly 将变量设置为只读readonly myu

2020-12-07 16:53:36 137

原创 Anaconda安装及基本使用

1.linux安装官网下载比较慢,使用清华大学开源软件镜像站下载会比较快https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/下载完成后会得到Anaconda3-2020.11-Linux-x86_64.sh 文件下载完成后在命令行运行此文件./Anaconda3-2020.11-Linux-x86_64.sh会提示需要阅读许可证协议,按回车继续,阅读完成后输入yes,再回车后继续安装Last updated Septem..

2020-12-02 17:49:08 2537

原创 unittest动态生成测试用例

1.动态生成测试类及方法class MakeTestCases: testcases = None​ def __init__(self): # 从文件中读取测试用例 self.testcases = yaml_read(FilePath.TESTSUITE)​ def make_test_func(self, case): def func(*args, **kwargs): """ ...

2020-11-24 16:39:29 771 2

原创 pip或者pytest Fatal error in launcher: Unable to create process using解决办法

移动python目录后,执行python\Scripts下的exe程序,提示如下Fatal error in launcher: Unable to create process using '"e:\myidle\python3\python.exe" "F:\MyIDLE\Python3\Scripts\pytest.exe" ': ???????????原因是修改目录后,exe里面的目录路径没有改变,使用Notpad++打开exe文件,拉到最底下,修改路径为移动后的python目录即可

2020-11-20 16:23:34 1226 3

原创 docker基本命令

1.docker安装ubuntusudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo apt-key fingerprint 0EBFCD88

2020-11-19 14:18:26 158

原创 ubuntu 20.04 运行repo init 提示 /usr/bin/env: ‘python’: No such file or directory 解决方案

原因:运行 repo 需要用到 python ,而ubuntu 20.04 运行python的命令是python3,所以会提示没有解决方法:1.下载python2,我使用的会提示需要用python2sudo apt install python22.在/usr/bin/目录下为python2创建软链sudo ln -s /usr/bin/python2 /usr/bin/python再运行 repo init即可...

2020-10-30 16:57:22 10330 2

原创 jenkins批量删除构建历史,可同时删除allure历史趋势图

解决方法:删除jobs-builds目录下的所有文件,并修改下次构建次数名为1操作步骤1.进入 Jenkins.jenkins\jobs 目录,找到需要删除历史的项目名2.进入项目目录后,会看到如下目录3.打开 nextBuildNumber ,将数字改为1,这样你下次构建的次数名称就为1了4.进入 builds 目录,删除目录下所有文件5.重启 jenkins...

2020-09-24 10:45:19 643

原创 docker安装mysql,并映射到数据到本地

1. 安装mysqlhttps://hub.docker.com/_/mysql?tab=tags可以到上方地址查看mysql的所有版本,默认下载的最新的版本。tag为latestdocker pull mysql2.查看镜像信息docker inspect mysql会得到如下信息,显示的是镜像的所有信息[ { "Id": "fda31b21b86da33a38227aa233453e6e10e76112009cc3f694a9152c5dd3ea8c",

2020-09-11 16:12:39 1739 1

原创 uiautomator2详细使用方法

文章目录1.简介2.工作原理3.安装与启动3.1 安装uiautomator23.2 安装weditor4. 元素定位4.1 使用方法4.2 支持的定位方式4.3 子元素和兄弟定位4.4 相对定位4.5 元素常用API4.6 XPATH定位5. 设备交互5.1 单击5.2 长按5.3 拖动5.4 滑动5.5 双指操作5.6 等待元素出现或者消失5.7 滚动界面5.8 输入5.8.1 输入自定义文本5.8.2 输入按键5.8.3 输入法切换5.8.4 模拟输入法功能5.9 toast操作5.9 监控界面5.

2020-08-12 17:30:37 25261 3

原创 yaml基本操作

1.yaml安装pip install pyyaml 2.基本语言规则大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可3.yaml文件书写格式PyYAML允许构造任何类型的Python对象,以下的格式都可以嵌套使用#文件中添加类!!python/object:类名#使用 - 创建列表 返回列表 ['a','b','c'],使用多个 - 会多重嵌套- a- b- c#返回 [[['a','b','

2020-07-31 15:27:11 10529

原创 使用uiautomator2+pytest+allure搭建测试框架

文章目录1.整体概述1.1 目录结构1.2 运行方法1.3 主要流程2.使用PO模式搭建粗略框架2.1 testcase目录2.2 config目录2.3 page目录2.4 data目录3.方法封装3.1 设备初始化(单例driver)3.1.1 优化设备初始化3.2 log封装及打印3.3 元素查找封装(弹框异常处理)3.4 操作封装3.5 页面类的封装3.6 pytest中自定义命令行参数3.7 截图方法4.报告输出4.1 step输出测试步骤4.2 Description输出测试用例的描述4.3 t

2020-07-31 15:22:53 2415 2

空空如也

空空如也

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

TA关注的人

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