<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_35520506的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_35520506</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_35520506]]></copyright><item><title><![CDATA[三十八.robotframework自动化-adb shell 命令]]></title><link>https://blog.csdn.net/qq_35520506/article/details/121243270</link><guid>https://blog.csdn.net/qq_35520506/article/details/121243270</guid><author>qq_35520506</author><pubDate>Wed, 10 Nov 2021 10:39:35 +0800</pubDate><description><![CDATA[简单地整理了部分adb shell的命令，参考了其他技术大牛的整理的内容，盗用一下。
//输出系统状态信息至F:\test\dumpstate.txt，由于需要root权限，所以没root的过的手机输出为空
adb shell dumptate &gt;F:\test\dumpstate.txt
//输出过去系统的状态，log，一般操作过程中未抓取log的时候一旦出现问题就使用这个命令来查看
adb shell bugreport &gt;F:\test\bugreport.txt
//输出内核信息
adb]]></description><category></category></item><item><title><![CDATA[三十六.robotframework通过javascript定位元素]]></title><link>https://blog.csdn.net/qq_35520506/article/details/121098831</link><guid>https://blog.csdn.net/qq_35520506/article/details/121098831</guid><author>qq_35520506</author><pubDate>Thu, 04 Nov 2021 12:23:17 +0800</pubDate><description><![CDATA[常用查找元素方法
document.getElementsByClassName("classname")
document.getElementsByTagName("tagname")
document.getElementsByClassName("classname")[0].children[0]

返回某元素个数
${num}    Execute Javascript    return document.getElementsByClassName("code")[1].getElement]]></description><category></category></item><item><title><![CDATA[三十五.robotframework元素定位-兄弟父子级]]></title><link>https://blog.csdn.net/qq_35520506/article/details/120998289</link><guid>https://blog.csdn.net/qq_35520506/article/details/120998289</guid><author>qq_35520506</author><pubDate>Tue, 02 Nov 2021 11:58:53 +0800</pubDate><description><![CDATA[*** Settings ***
Library           AppiumLibrary

*** Test Cases ***
test1
    Open Application    http://127.0.0.1:4723/wd/hub    platformName=Android    platformVersion=7.0    deviceName=L5030S00202841502846    app=D:\\apk\\com.bilibili.studio.apk    app]]></description><category></category></item><item><title><![CDATA[三十四.robotframework模拟键盘操作send]]></title><link>https://blog.csdn.net/qq_35520506/article/details/120827185</link><guid>https://blog.csdn.net/qq_35520506/article/details/120827185</guid><author>qq_35520506</author><pubDate>Mon, 18 Oct 2021 15:38:44 +0800</pubDate><description><![CDATA[robotframework用了AutoItLibrary后可以模拟键盘操作，执行send关键字。
send关键字发送各个按键对应的描述方式参考如下：
Key,Argument
BACKSPACE,"{BACKSPACE}, {BS}, or {BKSP}"
BREAK,{BREAK}
CAPS LOCK,{CAPSLOCK}
DEL or DELETE,{DELETE} or {DEL}
DOWN ARROW,{DOWN}
END,{END}
ENTER,{ENTER} or ~
ESC,{ESC}
HE]]></description><category></category></item><item><title><![CDATA[二十八.too many open files问题解决方法]]></title><link>https://blog.csdn.net/qq_35520506/article/details/115907392</link><guid>https://blog.csdn.net/qq_35520506/article/details/115907392</guid><author>qq_35520506</author><pubDate>Tue, 20 Apr 2021 15:15:46 +0800</pubDate><description><![CDATA[在linux系统设计里面遵循一切都是文件的原则，即磁盘文件、目录、网络套接字、磁盘、管道等，所有这些都是文件，在我们进行打开的时候会返回一个fd，即是文件句柄。如果频繁的打开文件，或者打开网络套接字而忘记释放就会有句柄泄露的现象。在linux系统中对进程可以调用的文件句柄数进行了限制，在默认情况下每个进程可以调用的最大句柄数是1024个，如果超过了这个限制，进程将无法获取新的句柄，而从导致不能打开新的文件或者网络套接字，对于线上服务器即会出现服务被拒绝的情况。
（1）查看全部进程占用句柄数总和：
lsof|]]></description><category></category></item><item><title><![CDATA[二十五.Nginx性能调优]]></title><link>https://blog.csdn.net/qq_35520506/article/details/115378665</link><guid>https://blog.csdn.net/qq_35520506/article/details/115378665</guid><author>qq_35520506</author><pubDate>Thu, 01 Apr 2021 17:12:32 +0800</pubDate><description><![CDATA[**
nginx指令中的优化（配置⽂件）
**
worker_processes 8;
nginx进程数，建议按照cpu数⽬来指定，⼀般为它的倍数。
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000
00100000 01000000 10000000;
为每个进程分配cpu，上例中将8个进程分配到8个cpu，当然可以写多个，或者将⼀个
进程分配到多个cpu。
worker_rlimit_nofile 102400;
这个指令是]]></description><category></category></item><item><title><![CDATA[三十三.python脚本调用jenkins构建任务]]></title><link>https://blog.csdn.net/qq_35520506/article/details/114684885</link><guid>https://blog.csdn.net/qq_35520506/article/details/114684885</guid><author>qq_35520506</author><pubDate>Fri, 12 Mar 2021 09:44:59 +0800</pubDate><description><![CDATA[最近针对CI/CD进行了一段时间的研究，由于工作中的实际需求，需要通过python脚本实现对jenkins中任务的调用。并通过脚本获取返回的结果。
接下来分享下具体的脚本代码：
1.首先创建一个demo文件夹，简单介绍下文件夹下的三个文件：
（1）\demo\conf\server.properties 存放相关配置型信息，包括jenkins地址，项目名称，邮箱地址等。
（2）\demo\jenkins_build_jobs.py调用jenkins构建任务接口
（3）\demo\jenkins_paser_]]></description><category></category></item><item><title><![CDATA[一.Docker核心技术简介]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108843180</link><guid>https://blog.csdn.net/qq_35520506/article/details/108843180</guid><author>qq_35520506</author><pubDate>Mon, 28 Sep 2020 10:29:27 +0800</pubDate><description><![CDATA[Docker就是虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统，可以将应用变成一种标准化的、可移植的、自管理的组件，并脱离服务器硬件在系统中开发、调试和运行，在 Linux 系统上迅速创建一个容器并在容器上部署和运行应用程序，并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级，非常方便。因为使用了容器，所以可以很方便的把生产环境和开
发环境分开，互不影响，这是 docker 最普遍的一个用法。接下来讲讲docker的几项核心技术。
cgroups
cgroups就是co]]></description><category></category></item><item><title><![CDATA[二十四.Jmeter远程节点性能压测]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108732007</link><guid>https://blog.csdn.net/qq_35520506/article/details/108732007</guid><author>qq_35520506</author><pubDate>Tue, 22 Sep 2020 16:37:04 +0800</pubDate><description><![CDATA[平时在性能压测时经常会碰到一台压测机资源不足，需要多台服务器仪器压测的情况，这个时候就需要一台主控机，多台远程机器同时压测。
接下来讲讲具体如何进行相关配置
1.首先，我们拿两台服务器为例
192.168.10.101   主控  master（windows）
192.168.10.111   远程节点  node （linux）
master节点做如下修改：
找到Jmeter/bin/jmeter.properties文件，修改下面这几个参数
remote_hosts=192.168.10.101:10]]></description><category></category></item><item><title><![CDATA[二十三.Jmeter与jenkins集成]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108726816</link><guid>https://blog.csdn.net/qq_35520506/article/details/108726816</guid><author>qq_35520506</author><pubDate>Tue, 22 Sep 2020 12:00:59 +0800</pubDate><description><![CDATA[1.首先创建一个jmeter的测试计划，保存成jmx文件，此处不详细说明。
2.安装Jenkins相关插件，如图所示安装Performance插件，此插件用于后续报告的展现：

3.创建一个jenkins项目，选择构建一个自由风格的软件项目，点击确定保存。

4.在构建项中选择执行shell，（如果是windows平台选择执行windows批处理命令）由于我是部署并且运行在linux平台上，所以执行shell。


shell脚本：
rm -rf /opt/result.log
rm -rf /opt/re]]></description><category></category></item><item><title><![CDATA[二十二.jmeter在linux下运行]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108714007</link><guid>https://blog.csdn.net/qq_35520506/article/details/108714007</guid><author>qq_35520506</author><pubDate>Mon, 21 Sep 2020 17:38:22 +0800</pubDate><description><![CDATA[1.在GUI模式下，新建一个测试计划,生成一个jmx文件（测试计划的创建此处不详细说明，大家可以参考之前的一些章节），保存并上传到linux机器对应目录。
2.在linux目录下找到你的测试计划，vim打开进行编辑，内容较多，我就不贴出来了，常规的一些参数的调整例如线程数这些参数可以直接进行修改:


3.接下来讲一下jmeter的相关命令：
-h 帮助 -&gt; 打印出有用的信息并退出
-n 非 GUI 模式 -&gt; 在非 GUI 模式下运行 JMeter
-t 测试文件 -&gt; 要运行的 JM]]></description><category></category></item><item><title><![CDATA[二十一.Jmeter录制功能]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108531062</link><guid>https://blog.csdn.net/qq_35520506/article/details/108531062</guid><author>qq_35520506</author><pubDate>Mon, 14 Sep 2020 15:26:40 +0800</pubDate><description><![CDATA[本文以JMeter版本5.2.1为例，介绍下如何进行web的录制：

]]></description><category></category></item><item><title><![CDATA[二十.Jmeter逻辑控制器]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108443191</link><guid>https://blog.csdn.net/qq_35520506/article/details/108443191</guid><author>qq_35520506</author><pubDate>Thu, 10 Sep 2020 17:09:40 +0800</pubDate><description><![CDATA[Jmeter的逻辑控制器需要配合取样器一起使用，通过逻辑控制器可以灵活控制我们不同取样器的执行场景。
如图所示有如此多的控制器，我们接下去一个个介绍一下。

1.如果（If）控制器
首先创建一个随机变量，并且设置随机值1-100

百度的访问条件是num小于等于50，sina的访问条件是num等于50

...]]></description><category></category></item><item><title><![CDATA[十九.性能测试-JVM分析工具（linux）]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108398855</link><guid>https://blog.csdn.net/qq_35520506/article/details/108398855</guid><author>qq_35520506</author><pubDate>Fri, 04 Sep 2020 15:12:30 +0800</pubDate><description><![CDATA[linux环境下常用的jvm分析工具有这几类：jps，jstack，jmap，jstat
一、JPS
执行jps -h查看相关命令语法。多用于查看进程jvm运行情况。

常用命令：
# hostid语法如下：
[protocol:][[//]hostname][:port][/servername]
protocol - 如果protocol及hostname都没有指定，那表示的是与当前环境相关的本地协议，如果指定了hostname却没有指定protocol，那么protocol的默认就是rmi。
host]]></description><category></category></item><item><title><![CDATA[十八.性能测试-jvisualvm之gc]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108358758</link><guid>https://blog.csdn.net/qq_35520506/article/details/108358758</guid><author>qq_35520506</author><pubDate>Thu, 03 Sep 2020 14:39:17 +0800</pubDate><description><![CDATA[1.前面几篇文章简单介绍了visual gc插件的安装和一些内存相关基础知识，本次简单介绍一下visual gc中的一些相关知识

如图所示主要分为三块：
1.spaces区域：
代表虚拟机内存分布情况。从图中可以看出，虚拟机被分为Metaspace、Old、Eden、S0、S1
2.Graphs区域：
代表内存的详细使用信息。
Compile Time(编译时间)：图中显示编译了19904个类总耗时2m57.562s，一个驼峰表示一次JIT编译，越窄表示时间越短
Class Loader Time(类加载]]></description><category></category></item><item><title><![CDATA[十七.性能测试-jvisualvm远程监控jvm]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108357540</link><guid>https://blog.csdn.net/qq_35520506/article/details/108357540</guid><author>qq_35520506</author><pubDate>Wed, 02 Sep 2020 10:55:24 +0800</pubDate><description><![CDATA[jvisualvm远程监控jvm有两种方式，分别是jmx以及jstatd方式
方式一.JMX
1.jmx方式相对比较简单，例如tomcat，在catalina.sh中JAVA_OPTS加入如下几句话：
-Djava.rmi.server.hostname=192.168.10.111 
-Dcom.sun.management.jmxremote.port=9004 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremo]]></description><category></category></item><item><title><![CDATA[十六.性能测试-jvisualvm插件安装]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108355237</link><guid>https://blog.csdn.net/qq_35520506/article/details/108355237</guid><author>qq_35520506</author><pubDate>Wed, 02 Sep 2020 09:44:54 +0800</pubDate><description><![CDATA[1.给jdk自带的jvisualvm安装插件，经常遇到We’re sorry the java.net site has closed这样的报错，后续我们可以用新的网址https://visualvm.github.io/index.html

2.选择需要下载的插件对应的版本，复制下载链接


3.再在jvisualvm中更新插件下载地址


4.可以看到可用插件已刷新，根据自身需求安装插件


...]]></description><category></category></item><item><title><![CDATA[十五.性能测试-jvisualvm性能分析简介]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108243839</link><guid>https://blog.csdn.net/qq_35520506/article/details/108243839</guid><author>qq_35520506</author><pubDate>Thu, 27 Aug 2020 15:28:09 +0800</pubDate><description><![CDATA[概述
开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题，比如文件、网络、数据库的连接未释放，未优化的算法等。随着应用程序的持续运行，可能会造成整个系统运行效率下降，严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题，在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。
VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA（Serviceability Agent）以及 Attach API 等多种方式从程序运行时获得实时数据，从而进行动态的]]></description><category></category></item><item><title><![CDATA[十四.性能测试-TOMCAT性能调优]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108202955</link><guid>https://blog.csdn.net/qq_35520506/article/details/108202955</guid><author>qq_35520506</author><pubDate>Wed, 26 Aug 2020 09:09:55 +0800</pubDate><description><![CDATA[Tomcat是运行在JVM上的，通过对JVM参数的调整我们可以使Tomcat拥有更好的性能。目前针对JVM的调优主要有两个方面：内存调优和垃圾回收策略调优。
内存调优：
1.JVM主要管理两种类型的内存：堆和非堆。简单来说堆就是运行时数据区域，所有类实例和数组的内存均从此处分配，是留给开发人员使用的；非堆就是JVM留给自己用的，
所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(字段和方法数据)以及方法和构造方法的代码都在非堆内存中。
2.JVM初始分配的堆内存由-Xms指]]></description><category></category></item><item><title><![CDATA[十三.JMeter常用配置及命令]]></title><link>https://blog.csdn.net/qq_35520506/article/details/108200984</link><guid>https://blog.csdn.net/qq_35520506/article/details/108200984</guid><author>qq_35520506</author><pubDate>Mon, 24 Aug 2020 16:02:34 +0800</pubDate><description><![CDATA[jmeter常用命令：
调用 JMeter 的 "jmeter -?"命令将打印所有命令选项的一个列表。
列表如下：
-h, --help 打印使用信息并退出
-v, --version 打印版本信息并推出
-p, --propfile {argument} 使用的 JMeter 属性文件
-q, --addprop {argument} 附加的属性文件
-t, --testfile {argument} 运行的 JMeter 测试文件(.jmx)
-l, --logfile {argument} 日志取样]]></description><category></category></item></channel></rss>