一. JDBC
JDBC 为访问不同的数据库提供了统一的接口, 为使用者屏蔽了细节问题;Java 程序员试用 JDBC, 可以连接任何提供了 JDBC 驱动程序的数据库系统, 从而完成对数据库的操作
MySQL 驱动下载 : https://dev.mysql.com/downloads/connector/j/
JDBC 程序编写步骤:
注册驱动 : 加载 driver 类
在项目中创建 libs 文件夹, 将 mysql.jar 拷贝到该目录下, 将 jar 文件 添加到项目中
获取连接 : 得到 Connection
jdbc:mysql : 表示规定好的协议, 通过 jdbc 连接 MySQL
localhost : 表示 ip 地址
3306 : 表示监听的端口
执行增删改查 : 发送 sql 给 mysql 执行
释放资源 : 关闭相关连接
1. 数据库连接方式1234567891011121314151617181920212223242526272829303132333435363738// 数据库连接方式public class MysqlDemo ...
一、正则表达式1. 常用类Pattern 类 :
pattern 对象是一个正则表达式对象, 没有公共构造方法, 通过调用器公共方法, 返回 pattern 类;
该方法接收一个正则表达式作为他的第一个参数
Pattern pattern = Pattern.compile(regStr);
Matcher 类:
Matcher 对象是对输入的字符串进行匹配, 没有公共的构造方法,
需要调用 Pattern 对象的 matcher 方法获取一个 Matcher 对象;
Matcher matcher = pattern.matcher(content);PatternSyntaxException : 表示正则表达式的语法错误;
2.使用方法使用步骤:
创建 正则表达式的匹配模式
Pattern.compile("\\(");
根据 匹配模式创建匹配器, 匹配字符串
pattern.matcher(content);
使用 while 循环进行匹配
matcher.find() : 找到 返回 true, 找到返回 false;
matc ...
Linux 常用命令一、 基本命令1. 关机
立刻关机
shutdown -h now
5 分钟后关机
shutdown -h 5
立刻关机
poweroff
2. 重启
立刻重启
shutdown -r now
5 分钟后重启
shutdown -r 5
立刻重启
reroot
3. 帮助命令
—help 命令
shutdown --help
ifconfig --help : 查看网卡信息
man 命令
man shutdown : 打开命令说明书之后,使用按键 q 退出
二、 目录操作命令1. 目录切换 cd
cd / : 切换到根目录
cd /usr : 切换到根目录下的 usr 目录
cd ../ : 切换到上一级目录 或者 cd ..
cd ~ :切换到 home 目录
cd - : 切换到上次访问的目录
2. 目录查看 ls[-al]
ls : 查看当前目录下的所有目录和文件
ls -a : 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll :列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls ...
镜像:相当于 python 里面类的概念,是静态的,不能直接使用容器:是通过镜像创建的,相当于实例的概念,是动态的,可以访问的仓库:存放镜像的地方docker宿主机:你的 docker 安装在哪一个机器,那个机器就是宿主机
一、 CentOS 下安装 Docker1.查看服务器版本内核通过 以下命令查看服务器的内核版本,确保你的系统版本支持 Docker
只查看版本号查看详细信息查看内核及版本号1uname -r1uname -a1uname -srm
2.更新 yum 包1yum update -y
3. 清除原有 Docker123456yum remove docker \ docker-client \ docker-client-latest \ docker-common docker-latest \ docker-latest-logrotate \ docker-logrotate docker-engine
4.安装依赖包123yum install -y dnf-utils \ device-mapper-persiste ...
一、 安装 node-exporter1.下载 node-exporter1docker pull prom/node-exporter
2.创建容器1docker run -id --name=exporter -p 9100:9100 prom/node-exporter
3.连接页面查看是否可以访问1http://ip 地址:9101/metrics
二、Prometheus 安装及配置1. 设置配置文件123mkdir /home/prometheuscd /home/prometheusvim prometheus.yml
下边的地址为安装 node_exporter 的地址,如果监控其他服务器,需要将 localhost 改为其他服务器的 ip 地址, 端口号为 node_exporter 的映射端口号
12345678910111213141516global: scrape_interval: 60s evaluation_interval: 60sscrape_configs: - job_name: prometheus static_configs: ...
方法封装123456789101112131415import yamlclass YamlHandler: def __init__(self,file): self.file = file def read_yaml(self,encoding='utf-8'): """读取yaml数据""" with open(self.file, encoding=encoding) as f: return yaml.load(f.read(), Loader=yaml.FullLoader) def write_yaml(self, data, encoding='utf-8'): """向yaml文件写入数据""" with open(self.file, encoding=encoding, mode='w ...
Appium 环境搭建一、 appium1. appium 介绍appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。
原生应用 : 指那些用 iOS 或者 Android SDK 写的应用( Application 简称 app)。
web 应用 : 指使用移动浏览器访问的应用( appium 支持 iOS 上的 Safari 和 Android 上的 Chrome)。
混合应用 : 指原生代码封装网页视图——原生代码和 web 内容交互。
appium 是一个跨平台的工具:它允许测试人员在不同的平台( iOS,Android)使用同一套 API 来写自动化测试脚本,这样大大增加了 iOS 和 Android 测试套件间代码的复用性。
客户端、服务器架构
appium 的核心是一个 web 服务器
他接受来自客户端的连接,监听命令并在移动应用上执行,答复 http 响应来描述执行结果
session
自动化始终在一个会话中执行,客户端会给服务器发送请求
请求中包含一个被称作预期能力的 json 对象,这时候服 ...
元素定位操作一、 Appium 脚本架构进行 Appium 自动化测试之前,需启动 Appium 及被测对象,启动了 Appium 客户端后,利用编程工具执行脚本时, Appium 才能将脚本与被测设备建立联接,从而实现自动化测试。
如果不启动客户端,则不能使用 WebDriver。
脚本中需首先导入 WebDriver,然后配置 Server,告诉 Appium 测试环境。
使用 Desired_caps 函数进行设备联接信息。设备连接参数主要有以下常用参数
desired_caps={}:设备参数信息,声明为一个字典
desired_caps['platformName']:应用平台的类型,通常为 Android 或 IOS
desired_caps['platformVersion']:被测设备系统版本
desired_caps['deviceName']:设备名称,通过 adb devices 查看
desired_caps['appPackage']: Android 应用程序包的包名
desired_caps ...
Appium 手机及元素操作一、 按键模拟返回桌面
123driver.keyevent(3) # 3 对应 home 键time.sleep(3)
调节音量
1234driver.keyevent(24)time.sleep(3)driver.keyevent(25)time.sleep(3)
长按 home 键
1driver.long_press_keycode(3)
按键
说明
编号
KEYCODE_CALL
拨号键
5
KEYCODE_ENDCALL
挂机键
6
KEYCODE_HOME
按键 Home
3
KEYCODE_MENU
菜单键
82
KEYCODE_BACK
返回键
4
KEYCODE_SEARCH
搜索键
84
KEYCODE_CAMERA
拍照键
27
KEYCODE_FOCUS
拍照对焦键
80
KEYCODE_FOWER
电源键
26
KEYCODE_NTIFICATION
通知键
83
KEYCODE_MUTE
话筒静音键
91
KEYCODE_VOLUME_MUTE
扬声器静音键
164
...
appium 自动化项目架构一、 项目结构
整体的编写逻辑:
1、先设计功能测试用例
2、然后分析这个用例,用到了那些页面,哪些元素,封装在 pages
3、将功能测试用例翻译成代码
四包文件 :
libs : 用于存放 基本的 代码;
configs : 用于存放 配置文件;
test_case : 用于存放 测试用例;
tools : 用于存放 封装的 工具
四文件夹:
docs : 主要用于存放 和项目相关的文件;
logo : 主要用于存放 项目执行的日志;
report : 用于存放报告的 原始数据;
data : 用于存放 测试数据;
当 APP 自动化有多条测试用例的时候,我们很难保证上一条 case 的结束页面,恰好是下一个 case 的开始页面所以,设计 app 自动化用例的时候,保证每一条 case,都从首页开始,那么,也就要求我们,每一条 case 的开始,都要从 首页 写起,每一条 case 的结束,都要想办法回到 首页
二、 项目内容1. configs项目配置 —- settings.py
12345678910desire_caps ...














