<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Krystal_RonghuiLi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Krystal_RonghuiLi]]></copyright><item><title><![CDATA[Appium安装环境配置教程]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/109604620</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/109604620</guid><author>Krystal_RonghuiLi</author><pubDate>Tue, 10 Nov 2020 19:47:27 +0800</pubDate><description><![CDATA[随着现如今大环境对测试的要求越来越高，自动化成了测试人员必不可少的技能。很多小伙伴下定决心开始学习自动化了，但是往往第一步环境搭建就把他们难住了，真是出师未捷身先死，长使英雄泪满襟啊。
移动端的自动化使用的是Appium框架，而这个框架需要依赖的环境众多，稍有一个依赖的版本不适配，就会导致整个环境不能使用。今天我就来带领大家如何最快最简洁的搭建好Appium环境。
首先我们需要的环境依赖有这些：
Node.js
Appium
Appium-desktop
Appium-doctor
Appium-Pytho]]></description><category></category></item><item><title><![CDATA[monkey操作事件分类及简介]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/109314577</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/109314577</guid><author>Krystal_RonghuiLi</author><pubDate>Tue, 27 Oct 2020 16:48:25 +0800</pubDate><description><![CDATA[monkey操作事件分类及简介1.触摸事件2.手势事件3.二指缩放事件4.轨迹事件5.屏幕旋转事件6.基本导航事件7.主要导航事件8.系统按键事件9.启动Activity事件10.键盘事件11.其他类型事件
Monkey所执行的随机事件流中包含11大事件，分别是触摸事件、手势事件、二指缩放事件、轨迹事件、屏幕旋转事件、基本导航事件、主要导航事件、系统按键事件、启动Activity事件、键盘事件、其他类型事件。Monkey通过这11大事件来模拟用户的常规操作，对手机App进行稳定性测试。下面让我们来详细了解这]]></description><category></category></item><item><title><![CDATA[Android SDK 安装及环境配置教程]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/109313593</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/109313593</guid><author>Krystal_RonghuiLi</author><pubDate>Tue, 27 Oct 2020 16:40:10 +0800</pubDate><description><![CDATA[1、配置jdk，查看jdk是否存在，一般电脑上都已经安装了的

2、Android SDK下载
官网下载：https://android-sdk.en.softonic.com/download
找到下载的位置找到如图图标，点击运行。

3、在manager里面选择要安装的内容
必选项：
Android SDK Tools：基础工具包，版本号带rc字样的是预览版。
Android SDK Platform-tools：从android2.3开始划出此目录，存放公用开发工具，比如adb、sqlite3等，被划]]></description><category></category></item><item><title><![CDATA[python运行时没有运行unittest里的case测试用例]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108334577</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108334577</guid><author>Krystal_RonghuiLi</author><pubDate>Tue, 01 Sep 2020 09:39:35 +0800</pubDate><description><![CDATA[python运行时没有运行unittest里的case测试用例
只需要在脚本里面加上几行代码
1、在脚本里面加上
if __name__ == '__main__':  
    unittest.main()

2、在脚本里面加上
if __name__ == '__main__': 
    suite = unittest.TestLoader().loadTestsFromTestCase(LoginTest)
    unittest.TextTestRunner(verbosity=2).run]]></description><category></category></item><item><title><![CDATA[如何进行接口测试？如何设计接口测试用例？]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108253779</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108253779</guid><author>Krystal_RonghuiLi</author><pubDate>Thu, 27 Aug 2020 10:04:38 +0800</pubDate><description><![CDATA[接口测试用例设计
这里写目录标题接口测试用例设计一、输入参数校验二、结果校验三、接口逻辑四、异常数据的处理五、接口安全
一、输入参数校验
1、参数入参类型校验
入参类型与接口文档保持一致。
2、参数必填项校验
必填项不为空、null
3、参数长度
a、接口文档记录的数据库长度
b、需求文档要求的字段长度
4、参数取值范围
a、枚举值，需校验每个枚举值。特别是不同枚举值对应不同场景的情况
b、有限定范围，可用边界值进行设计测试用例。如密码长度的取值是6-12，需确定上点6、12，离点5、13，任意内点9。
5]]></description><category></category></item><item><title><![CDATA[Linux 终端操作命令]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108214327</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108214327</guid><author>Krystal_RonghuiLi</author><pubDate>Tue, 25 Aug 2020 10:09:30 +0800</pubDate><description><![CDATA[我们都知道服务器是软件和硬件的中间人，而在众多系统中以linux 安全、稳定、免费、占有率高等众多优点占据着部分市场。Linux的应用领域众多，包括服务器领域、嵌入式领域、个人桌面领域（薄弱环节）等。Android 就是基于Linux的操作系统。
Linux系统的基础操作命令：
命令行输入 终端 Teminal 可以直接右键打开
cd 切换文件夹
cd /home 绝对路径（根目录开头）进入目录 /是表示根目录 后面再加斜杠就是 " 的 "的意思
cd lironghui 相对路径（不以根目录开头）
（/ ]]></description><category></category></item><item><title><![CDATA[loadrunner controller使用]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108200063</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108200063</guid><author>Krystal_RonghuiLi</author><pubDate>Mon, 24 Aug 2020 15:29:31 +0800</pubDate><description><![CDATA[执行前按F4设置执行时的一些细节

创建场景

设置集合点的属性


设置并发数和 超过多少时间算超时



设置停止时间这个时间不影响测试性能

多个group name就选择group

8、设置显示图表，下面那项可以设置显示多少


...]]></description><category></category></item><item><title><![CDATA[python自动化框架搭建（一）]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108003466</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108003466</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 14:16:19 +0800</pubDate><description><![CDATA[对请求方法进行封装
使用requests库，对请求方法进行封装
import json
import requests

class RunMain:
    def send_post(self,url, data): 
        header=""
        res = requests.post(url= url, json = data)
        # return json.dumps(res, indent=2, sort_keys=True)
        return r]]></description><category></category></item><item><title><![CDATA[loadrunner 设置事务、集合点和断言]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108003035</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108003035</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 13:55:11 +0800</pubDate><description><![CDATA[loadrunner 设置事务、集合点和断言
在需要并发的地方设置集合点，集合点必须放在事务前面
lr_rendezvous("create_shitika");

事务 ，把操作一个动作的完整请求放在一个事务里面
lr_start_transaction("create_card");

写判断，判断事务返回成功还是返回失败
lr_output_message(lr_eval_string("{endNumber}"));
    if (strlen(lr_eval_string("{startNumb]]></description><category></category></item><item><title><![CDATA[loadrunner获取设置全局token]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108002903</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108002903</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 13:50:16 +0800</pubDate><description><![CDATA[loadrunner获取token并用于其他请求
设置抓取的最大长度
web_set_max_html_param_len("999999");

设置关联函数抓取token，LB 设置左边界，RB设置右边界
web_reg_save_param("Auth","LB=Authorization: ","RB=\r\n","Search=All",LAST);

输出抓取的内容，
lr_output_message(lr_eval_string("{Auth}"));

将token设置作用于脚本中的全部的]]></description><category></category></item><item><title><![CDATA[系统性能测试进阶]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108001368</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108001368</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 13:39:10 +0800</pubDate><description><![CDATA[性能测试基础基础概念性能指标和有关计算公式脚本要素需求分析及业务场景确定并发数系统资源耗用业务模型建立
基础概念
1、系统性能包括：执行效率、资源占用、系统稳定性、安全性、兼容性、可靠性、可扩展性。
2、性能测试八大类：性能测试、负载测试、压力测试、配置测试、并发测试、容量测试（数据库）、可靠性测试（系统稳定性），一般在功能测试结束了才开始。
负载测试：通过逐步加压来确定系统的处理能力和承受能力的各项阈值,单位时间高压
压力测试：通过逐步加压，测试系统性能的变化、验证被测对象是否达到性能指标
容量测试： 容]]></description><category></category></item><item><title><![CDATA[mysql函数、事务、视图、触发器]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108000089</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/108000089</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 11:07:57 +0800</pubDate><description><![CDATA[数据库基础一、 函数二、事务三、视图四、触发器
一、 函数
CREATE FUNCTION f_name(paramters) returns dataType; return value; 

paramters 只能是in 输入参数 参数名 类型
必须有返回值
不能加begin 和end
returns 后面是返回值的类型 这里不加分号
return 后面是要返回的值
示例：将两数相加
create function addfuntion(a int,b int) 
returns int return]]></description><category></category></item><item><title><![CDATA[sql查询语句的几种常见关键字]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107999903</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107999903</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 10:54:35 +0800</pubDate><description><![CDATA[sql查询语句的几种常见关键字
group by 分组查询
语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
SELECT apply_number,COUNT(brand),brand FROM vehicle_purchase_invoice GROUP BY brand;

Having 关键字
可以让我们筛选分组之后的各种数据，where字句在聚合前先筛选记录，也就是说作用在group by和having字句前。而having字句在聚合后对组记]]></description><category></category></item><item><title><![CDATA[主键、索引、sql语句优化、数据类型选择]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107999397</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107999397</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 10:48:13 +0800</pubDate><description><![CDATA[主键、索引、sql语句优化、数据类型选择
1、主键、外键、唯一键
主键Primary key：数据库实体完整性的一种规则，唯一标示一个实体，取值非空唯一。比如，学生表的学号。
外键 Foreign key：数据库参照完整性的一种规则，将两表或者多张表联系起来，取值必须来自参照表的参照字段的值，可为空也可不为空。比如，选课表里的学号。
唯一键:Unique约束可以唯一地标识关系或表中的单个元组。与主键不同，一个表可以有多个唯一键。唯一键约束只能接受列的一个空值；唯一约束也由另一个表的外键引用。当有人想对非主键]]></description><category></category></item><item><title><![CDATA[mysql基础sql语句使用示例]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107998871</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107998871</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 10:29:07 +0800</pubDate><description><![CDATA[@mysql基础sql语句
DB DBMS SQL
连接数据库
mysql-&gt; mysql -h ip -uuser -ppassword
 use leaseback

创建表
CREATE TABLE test1 (
	id int(11) PRIMARY KEY,
	city VARCHAR(20) not null,
	count_person int(50)
);

复制表 字段结构和索引
CREATE TABLE test2 LIKE test1;

复制表 不会复制索引 可以选择字段
C]]></description><category></category></item><item><title><![CDATA[使用存储过程批量新增数据实例]]></title><link>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107998668</link><guid>https://blog.youkuaiyun.com/Krystal_RonghuiLi/article/details/107998668</guid><author>Krystal_RonghuiLi</author><pubDate>Fri, 14 Aug 2020 10:13:32 +0800</pubDate><description><![CDATA[@使用存储过程批量新增数据实例
delimiter $$     – //以delimiter来标记用$表示存储过程结束
create procedure pre()		– //创建pre()存储方法
begin
declare i int;		– /定义i变量
set i=6001;
while i&lt;6021 do		– //对i的值配置
– //数据库数据插入语句
INSERT INTO leaseback.apply_payment_order (id, pay_id, vendor_id, v]]></description><category></category></item></channel></rss>