12 2021 档案
摘要:固定吞吐量定时器和指定集合点,都是使用JMeter进行性能测试的常用手段,但是通过对测试过程的监控和测试结果的分析,都是在性能测试中值得关注部分。 JMeter也可以监控服务器的性能参数,如:CPU、内存、IO等,不过需要下载一些插件。 本文主要说明如何通过JMeter插件,来监控服务器CPU、内存
阅读全文
摘要:1、定时器介绍 默认情况下,JMeter线程发送请求之间是没有间歇的。建议为线程组添加某种定时器,以便设定请求之间的间隔是多长时间。如果测试人员不设定这种延迟,JMeter可能会在短时间内产生大量的并发访问请求,导致服务器宕机。 定时器会让作用域内的每一个取样器,都在执行前等待一个固定时长。定时器可
阅读全文
摘要:自己在使用JMeter进行分布式测试的时候,遇到了很多的坑。下面总结起来,方便以后查看。 1、控制机端 (1)执行机没有关闭防火墙 在执行机IP+端口号设置正确的情况下,控制机在启动测试计划的时候,出现如下情况: Windows系统,下的GUI界面: Linux系统下,出现: [root@local
阅读全文
摘要:1、JMeter分布式测试概念 (1)什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享、分散操作、集中管理、协同工作、负载均衡、测试过程监控等目的的计算机网络测试。 **即:**由多台电脑共同完成同一个测试计划的
阅读全文
摘要:vim使用技巧,就是vim编辑器中复杂一点的常用操作。 1、在vim中导入其他文件内容或命令结果 (1)导入其他文件内容 在末行模式中执行命令::r 文件名(绝对路径) 可以把其他文件的内容导入到光标所在位置。 (2)在vim中执行系统命令 :!命令 :在vim中执行系统命令。 这里只是在vim中执
阅读全文
摘要:vim编辑器中常用的末行模式命令。 1、在文档中显示行号 : set nu:显示行号。 : set nonu:取消行号。 一旦退出文档,再打开行号就没有了。(文章最后第8点,有解决。) 2、是否显示文档内容相关颜色 : syntax on:显示颜色。 : syntax off:关闭颜色。 说明: 是
阅读全文
摘要:命令模式中的命令主要取代的是Linux系统中鼠标的操作。 vim编辑器的快捷键一般都集中在命令模式下。 1、移动光标操作 (1)上下左右移动光标 左、下、上、右方向键,对应H、J、K、L。 注:小键盘的上下左右键也行 (2)把光标移动到文件头或尾 gg:移动到文件头。 G:移动到文件尾(shift+
阅读全文
摘要:1、vim编辑器简介 vim是一个全屏幕纯文本(绘个表格或者插个图片就不要想了)编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。 vim编辑器的主要优势就是不需要鼠标的介入就可以完成所有的编辑操作。如果你非常熟练的使用vim编辑器,编辑文档时要比鼠标介入操作的快多了。 在使用vim编辑器
阅读全文
摘要:微信小程序和微信公众号的测试方式基本上是一样的。 微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试? 我们就以微信小程序来进行讲解,介绍如何测试微信小程序。 1、测试微信小程序前提 获取真机设备标识。 也就是设备和电脑进行连接。 换句话说, 输入adb connect 127.0.0
阅读全文
摘要:1、toast介绍 Android中的toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据所设置的显示时间自动消失。 toas要appium1.6.3以上版本才支持,appium1.4的版本就别浪费时间了。 再来看下toast长什么样,像这种弹出来的消息**"再按一次退出百度Ap
阅读全文
摘要:我们之前说过的所有操作,都是对原生页面的操作。 在手机APP中,除了原生页面,还是有Webview页面(也就是H5页面),下面我们就说说对Webview页面的操作。 1、先了解什么是Hybrid(混合) 移动混合应用程序的App,即在移动应用程序中嵌入了Webview,通过Webview访问网页。
阅读全文
摘要:1、模拟手势点击坐标 在定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点击元素所在位置的坐标。(坐标定位) 详细说明: 如下图定位"去看看"这个元素,除了坐标属性,其他没有可用于定位的属性信息了。这个时候就需要用坐标来进行定位点击了。 下图中可以看到右侧b
阅读全文
摘要:是针对手机一些常用设置功能进行操作的API。 这些API都非常的简单,用的时候直接查询调用就可以了,下面介绍几个非常常用的API。 1、获取当前手机的时间 使用方法:device_time # 调用方式: driver.device_time # 输出结果: 2020-12-04T00:02:50+
阅读全文
摘要:1、把自己的日志加入日志轮替 使用RPM包方式安装服务的日志会自动的加入logrotate轮替,一般不需要你介入。 而使用源码包方式安装服务的日志,需要手工把该服务的日志加入到logrotate.conf配置文件中。 所以源码包方式安装服务的日志和手动指定的日志,是需要自己手动加入logrotate
阅读全文
摘要:1、日志文件的命名规则 日志轮替最主要的作用就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后,就会进行删除。 那么旧的日志文件改名之后,如何命名呢? 主要依靠/etc/logrotate.conf配置文件中dateext参数: 如果配置文件中拥有dateext参数
阅读全文
摘要:1、日志文件格式 只要是由日志服务rsyslogd记录的日志文件,他们的格式是一样的。 基本日志格式包含以下内容: 事件产生的时间。 发生事件的服务器的主机名。 产生事件的服务名或程序名。 事件的具体信息(具体日志信息)。 我们以/var/log/messages为例: 2、rsyslogd服务的配
阅读全文
摘要:1、日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务。RedHat认为syslogd已经不能满足在工作中的需求,rsyslogd服务支持的功能更加丰富。 rsyslogd服务相比syslogd服务具有一些新的特点: 基于TCP网络协议传输日志信息。
阅读全文
摘要:在Linxu系统中,有三种用于任务调度的工具 at命令调用atd服务 crontab命令调用cron(crond)服务。 anacron工具。 1、任务调度工具anacron介绍 (1)anacron工具是用来干什么的呢? 如果Linux服务器不是24小时开机的,那么刚好在关机的时间段之内有系统定时
阅读全文
摘要:需使用crontab命令。 crontab命令可以循环执行定时任务。比如每天的凌晨2点都执行一次某个任务。 cron服务是Linux系统自带的守护进程(daemon),用来重复运行某些被设定好了确定的运行时间的任务,这些任务可以是每个月运行、每周运行、每天运行,甚至是每一分钟运行。 在Linxu系统
阅读全文
摘要:定时任务是在服务器上常用到的一个工作。 在你指定的时间,系统会自动执行你指定的程序(脚本或者命令)。 Linxu系统中的定时任务不难,关键是如何写出正确的脚本。 在Linxu系统中,有三种用于任务调度的工具: at命令调用atd服务 crontab命令调用cron(crond)服务。 anacron
阅读全文
摘要:1、vmstat命令 vmstat命令是一个监控(查看)系统资源的命令。 [root@localhost ~]# vmstat [刷新延时 刷新次数] 示例: # 使用vmstat检测,每1秒刷新一次,共刷新3次 [root@localhost ~]# vmstat 1 3 procs memory
阅读全文
摘要:1、工作管理简介 简单的说,工作管理就是管理前台的任务和后台的任务。 后台管理有几个重要事项需要注意: 前台是指当前可以操控和执行命令的这个操作环境,后台是指工作可以自行运行,但是不能直接用ctrl+c来终止它,只能使用fg/bg来调用工作。 当前的登录终端,只能管理当前终端的工作,而不能管理其他登
阅读全文
摘要:APP模拟手势的动作都被封装在TouchAction类中,TouchAction是AppiumDriver的辅助类,主要针对手势操作,如滑动、按、拖动等,原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。 所有手势都要通过执行函数才会运行。 提示: 我们之
阅读全文
摘要:1、Shell的作用 Shell除了能解释用户输入的命令,将它传递给内核,还可以: 调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果。 在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入。 Shell本身也可以被其他程序调用。 由此可见,Shell是将内核、程序和用户连接了起来
阅读全文
摘要:1、Shell的由来 我们比较熟悉Windows系统的图形化界面,对于图形界面来说,用户点击某个图标就能启动某个程序。 在此之前我们一直在使用Linux系统的命令行模式学习,对于命令行来说,用户输入一个命令就能启动某个程序。 这两者的基本过程都是类似的,都需要查找程序在硬盘上的安装位置,然后将它们加
阅读全文
摘要:1、Linux系统中的信号 Linux系统中可以识别的信号较多,我们可以使用命令kil1 -1或man 7 signal来查询, 命令如下: [root@localhost ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
阅读全文
摘要:1、top命令介绍 top命令是用来动态显示系统中进程的命令。 [root@localhost ~]# top [选项] 选项: -d秒数:指定top命令每隔几秒更新。默认是3秒。 -b:使用批处理模式输出。一般和"-n"选项合用,用于把top命令重定向到文件中。 -n次数:指定top命令执行的次数
阅读全文
摘要:1、ps命令介绍 ps命令是用来静态显示系统中进程的命令。 不过这个命令有些特殊,它部分命令的选项前不能加-,比如命令ps aux,其中aux是选项,但是这个选项前不能加-。 这是因为ps命令的部分选项需要遵守BSD操作系统的格式,所以ps命令的常用选项的组合是固定的。 命令如下: # 查看系统中所
阅读全文
摘要:1、进程与线程的概念 来源百度百科: 进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数
阅读全文
摘要:1、Linux服务管理总结 (1)RPM包默认安装的服务 1)独立的服务 启动 @1、使用/etc/init.d/目录中脚本启动服务,如:/etc/nit.d/httpd start|stop|restart。 @2、使用service命令启动服务,如:service httpd start|sto
阅读全文
摘要:1、源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚本的绝对路径, # 最后加上启动选项。 [root@localhost ~]# /usr/local/apache2/bin/apachectl start|stoplrestart|... 注意
阅读全文
摘要:既然独立的服务启动是依靠/etc/init.d/服务名这个脚本来进行启动管理的,那么这个脚本中到底是什么样子的?我们以apache服务的启动脚本来学习一下启动脚本到底是怎么实现一个服务启动的。 提示:/etc/init.d/服务名和/etc/rc.d/init.d/服务名是一样的,软链接关系。 查看
阅读全文
摘要:现在Linux系统中基于xinetd的服务越来越少了,但Linux系统中还是有基于xinetd的服务的,所以我们还是需要了解一下基于xinetd的服务的管理。 1、基于xinetd服务的启动管理 我们使用telnet服务来举例,telnet服务是用来进程系统远程管理的,端口是23。不过需要注意的是t
阅读全文
摘要:1、独立服务的启动管理 (1)使用/etc/init.d/目录中的启动脚本启动服务(推荐) [root@localhost ~]# /etc/init.d/httpd start 或者 [root@localhost ~]# /etc/cr.d/init.d/httpd start 两个是软连的关系
阅读全文
摘要:1、服务的介绍 计算机中的服务是一种能执行指定系统功能的程序,在系统后台运行。 服务应用程序通常可以在本地和通过网络为用户提供一些功能,每个程序都有一定的或者说是特定的功能,它所提供的所能实现的未必是你直接需要的,有的是以便支持其他的程序,尤其是低层(接近硬件)的程序。 这些服务可以在计算机启动时自
阅读全文
摘要:1、什么是等待activity出现 在启动APP的时候,要配置包名和启动名,一个启动名对应一个页面,也就是启动APP然后打开某一个页面。换句话说,在等待这个页面出现,也就是等待activity出现。(activity相当于启动名) 如果不等待页面完全展示,就直接做下一步点击操作,经常会报错,于是我们
阅读全文
摘要:在Appium中提供了三种滑动的方式,swipe滑动、scroll滑动、drag拖拽事件。 除了这三种滑动方式外,我们还可以自定义一些滑动方式。 下面我们来看看这三种滑动方式。 1、swipe滑动 从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动。 swipe()方法说明: swipe(s
阅读全文
摘要:1、获取元素文本内容 (1)text()方法 业务场景: 进入设置。 获取所有元素class属性为android.widget.TextView的文本内容。 代码实现: # 定位元素 text_vlaue = driver.find_elements_by_class_name("android.w
阅读全文
摘要:1、元素的基本操作说明 (1)点击操作 点击操作:click()方法。(同Selenium中使用方式一致) (2)清空操作 清空操作:clear()方法。(同Selenium中使用方式一致) (3)输入操作 输入操作:send_keys()方法。 在移动端的输入操作有两种情况,一种情况是输入非中文内
阅读全文
摘要:本文说明的是在APP的原生页码中进行元素定位。 如果页面是Web(移动端里的浏览器)、混合(APP与WEBVIEW)里含有WEBVIEW页面进行元素定位,元素定位方法同Selenium WebDriver一致,则可以参考Selenium部分的笔记进行参考。 元素定位工具: Android使用Andr
阅读全文
摘要:1、光盘修复模式概念 Linux系统的光盘修复模式,也叫光盘救援模式,或者叫光盘安全模式都可以。 Linux系统的最终修复模式就是光盘修复模式(进入光盘下的安全模式启动系统),光盘修复模式会绕开系统的硬盘启动,也就是说拿光盘做为启动盘进行系统的启动,这样的话硬盘上所有的内容都没有被系统加载,最后把硬
阅读全文
摘要:1、Linux系统安全性的问题 我们的Linux系统需要通过正确的用户名和密码才能进行登陆。但是我们上一篇文章讲解了通过Linux系统的单用户模式,可以破解掉密码登陆系统。那是不是Linux系统不是很安全呢? 我们可以通过前边讲过的grub加密(点此查看之前的grub加密文章),来进行进一步安全防范
阅读全文
摘要:Linux系统中有两种修复模式,一种是单用户模式,另一种是光盘修复模式。 Linux系统的单用户模式有些类似Windows系统的安全模式,只启动最少的程序用于系统修复。在单用户模式中(运行级别为1),Linux 引导进入根shell,网络被禁用,只有少数进程运行。单用户模式可以用来修改文件系统损坏、
阅读全文
摘要:1、什么是grub加密 上篇文章说了,系统在开机的时候,有一个5秒的读秒时间,方便你进入到grub界面中。 如下图所示: 此时我们按下Enter键,就可以进入到grub界面中。 如下图所示: 在选择框的正下方可以看到有几行提示: # 使用 ↑ 和 ↓ 键高亮某个选项,并按回车键确认来引导选定的操作系
阅读全文
摘要:1、grub中分区的表示方法 在说grub启动引导程序的配置文件之前,我们还需要了解一下,在grub中分区的表示方法。 从下图中我们可以看到,Linux系统的分区中是/dev/目录下自动识别设备分区名称,关于Linux系统的分区命名请看之前文章中的介绍。但是在grub的分区中,是有自己一套独立的标识
阅读全文
摘要:提示: 简单地说,Boot Loader就是在操作系统内核运行之前运行的一段小程序,称为启动引导程序。是加载核心的重要工具,没有 Boot Loader的话,那么kernel根本就没有办法被系统加载的。 而grub是其中的一种启动引导程序的名称。 1、启动引导程序(Boot Loader)简介 启动
阅读全文
摘要:1、Linux系统运行级别介绍 Linux默认有7个运行级别,Linux 系统任何时候都运行在一个指定的运行级别上。不同的运行级别所运行的程序和服务不尽相同,所要完成的工作和要达到的目的也不相同。 0:关机。 1:单用户模式,可以想象为Windows系统的安全模式,主要用于系统修复。 2:不完全的命
阅读全文
摘要:通过命令模式进行LVM分区,也就是通过命令进行LVM逻辑卷分区。 1、物理卷管理 (1)准备硬盘或者分区 前提还是首先要有一块硬盘或者分区。 创建方式就是使用fdisk交互命令,不过需要注意的是,分区的系统ID不再是Linux默认的分区ID号83了,而要改成LVM的ID号8e。 通过fdisk交互命
阅读全文
摘要:我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区。 提示: 安装Linux系统步骤请看 创建虚拟机 在虚拟机中安装Linux系统 从在虚拟机中安装Linux系统文章的第12步开始,我们来演示一下LVM逻辑卷分区。 之前我们12步选择的分区类型是自定义分区,然后进入手动分
阅读全文
摘要:1、LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理。(是我们进行分区的一种方法) LVM逻辑卷管理和我们前面说的基本分对比,区最大的特征是,可以动态调整硬盘的分区大小。比如说当我的Linux系统有三个分区,分别是boot分区,swap分区和根分
阅读全文
摘要:上一篇文章已经做了磁盘配额实践的大概规划,下面我们就开始一步一步的来实践一下。 1、手工建立一个5GB的分区 手工建立一个5GB的分区/dev/sdb2,挂载到/disk目录下。 手工建立分区看之前使用fdisk命令进行手工分区文章可解决。 查看系统分区,可以看到/dev/sdb2分区已经挂载。 查
阅读全文
摘要:1、磁盘配额概念 磁盘配额是限制用户或者用户组在一个分区上可以使用的空间大小和文件个数的限制。 扩展: 管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。 磁盘配额针对的是分区,Windows系统也有磁盘配额功能。 这是一个基础的功能,如果真要在实际工作中使用
阅读全文
摘要:APP中的元素定位工具大致有三种: uiautomatorviewer工具 Appium Inspector工具 Chrome Inspect工具 提示:本篇文章介绍Chrome Inspect工具。 1、Chrome Inspect介绍 Chrome Inspect定位工具是用来抓取APP中Web
阅读全文
摘要:APP中的元素定位工具大致有三种: uiautomatorviewer工具 Appium Inspector工具 Chrome Inspect工具 提示:本篇文章介绍Appium Inspector工具。 1、Appium Inspector介绍 之前我们说过Appium Server有两种启动方式
阅读全文
摘要:之前我们在做Web页面自动化测试的时候就说过,元素定位是页面自动化测试的第一步。 同理App自动化测试的第一步,也是元素的定位。 在APP中定位元素的话,需要借助一些元素定位工具。 APP中的元素定位工具大致有三种: uiautomatorviewer工具 Appium Inspector工具 Ch
阅读全文
摘要:1、前置代码 一个脚本中必须要编写的内容,写在前置代码中: # server 启动参数 desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' desired
阅读全文
摘要:1、查看swap分区情况 swap分区就相当于是内存的一个缓冲区,如果内存被占满,可以用swap分区代替内存使用,用来提升Linux系统性能。 如果在实际的服务器上,分配的swap分区不够用了,需要扩大swap分区,我们是可以不重新安装操作系统的,那样很麻烦,swap分区是支持手动扩展的。 一般通过
阅读全文
摘要:1、parted命令介绍 我们Linux系统中有两种常见的分区表,MBR分区表(主引导记录分区表)和GPT分区表(GUID分区表,也叫全局唯一标识分区表),其中: MBR分区表:支持的最大分区是2TB(1TB=1024GB)(超过2TB不识别多出来的空间);最多支持4个主分区,或3个主分区1个扩展分
阅读全文
摘要:上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载。 但是我们发现重启系统之后,新硬盘上的两个挂载没有了,还需要重新手动挂载。也就是说,之前的操作,挂载上的新硬盘,重启系统之后,是不会自动挂载的,所以这样真的很麻烦,这时我们就需要进行自动挂载的操作。 提示:日常的移动存储设备,如U盘
阅读全文
摘要:之前在安装Linux系统的时候,我们通过图形化界面,进行过磁盘的分区(需要的请看安装Linxu系统时分区详细说明),但是在这之后我不能保证,我不再需要添加新的磁盘再进行分区,这时候就需要手工进行分区了。 1、手工分区前提 (1)要有一块新的硬盘 如果需要手工分区,首先要有一块新的硬盘。 查看系统所有
阅读全文
摘要:1、df命令 df命令用于统计分区的占用状况。 [root@localhost ~]# df -ahT 选项: -a:显示特殊文件系统,这些文件系统几乎都是保存在内存中的。如proc,因为是挂载在内存中,所以占用量都是0。 -h:换算成人类习惯看的单位(人性化显示)。 -T:多出了一列文件系统类型。
阅读全文
摘要:在了解Linux的文件系统管理之前,先简单了解一下硬盘的结构。 1、了解硬盘结构(了解即可) (1)硬盘的逻辑结构 如下图所示: 说明: 上图中一圈一圈的同心圆(蓝色部分),我们称之为磁道。数据就存放在磁道当中。 从磁盘的中心向外发散切割线,这切割先和磁道的重叠区域就是一个扇区。 每个扇区的大小事固
阅读全文