摘要: 1 #! /bin/bash 2 3 if [ "$#" -lt 2 ] # $# 传递给脚本或函数的参数个数 4 then 5 echo "Usage: $0 program" # $0 脚本名称 6 exit -1; 7 fi 8 9 SLEEP_TIME=$1 10 LOG=$2 11 12 阅读全文
posted @ 2019-09-22 14:23 Andrew213 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 在介绍这个之前,可以先看下python的目录Python\Lib\site-packages下面的文件夹,你会发现这个目录下面有DatabaseLibrary、RequestsLibrary、Selenium2Library等等这些我们熟悉的名称,没错,就是在RIDE编辑框里面import的包名,所 阅读全文
posted @ 2019-05-28 22:12 Andrew213 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 本章主要介绍RF的循环,判断以及关键字Evaluate。 1. for循环 在RF中通过 :FOR 编写循环 2. if判断 通过"run keyword if" 关键字可以编写if分支语句,还有很多其他的if判断,如Return From Keyword If等等 3. 强大的Evaluate 通 阅读全文
posted @ 2019-05-27 21:46 Andrew213 阅读(1744) 评论(0) 推荐(0) 编辑
摘要: 1. 原理 首先解释一下RF的工作原理,官方文档介绍就不赘述了,笔者就框架架构做出一个更加具体的描述 测试套及测试用例集(Test Data即需要用户编写的脚本)通过RF特定的语法解析,然后知道用户要做什么事,通过RF的API接口调用内置关键字和第三方库(也可以称库关键字),通过Test Libra 阅读全文
posted @ 2019-05-26 20:16 Andrew213 阅读(542) 评论(3) 推荐(1) 编辑
摘要: 工欲善其事,必先利其器,RIDE目前可以比较稳定的支持python3了,这里简单介绍一下环境的部署,建议多看看读一读官方文档,对能力提升很有帮助,很简单的三步: (1)安装python3,不详细介绍了,注意添加好环境变量 (2)打开命令行执行:pip install robotframework G 阅读全文
posted @ 2019-05-26 17:59 Andrew213 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 最近部署测试环境,涉及到MySQL数据库主从双向同步的部署,记录一下部署过程,正常读写都发生在主库,从库作为备选数据库(热备份),当主库发生异常,数据库自动切换到从库,这里面是怎么监控数据库异常并触发自动切换,就不在这里研究记录了(公司用的自研中间件,这里可以使用heartbeat实现,暂不做研究) 阅读全文
posted @ 2019-05-12 15:00 Andrew213 阅读(2865) 评论(0) 推荐(0) 编辑
摘要: 常见的OSI模型,5层模型和4层模型: TCP的三次握手和4次挥手: 阅读全文
posted @ 2019-04-27 16:02 Andrew213 阅读(153) 评论(0) 推荐(0) 编辑
摘要: Jmeter结构主要组成要素包括:测试计划,线程组,采样器以及监听器。对于各部件的作用域关系如下图: Jmeter是纯Java程序,使用JVM,运行采用多线程完成,往往单台负载机由于机器配置有限,支持的线程数有限,所以常常需要采用分布式集群的方式增大负载能力,关于分布式的部署可参考Jmeter性能测 阅读全文
posted @ 2019-03-31 17:34 Andrew213 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 笔者最近研究学习了selenium的实现和工作原理,阅读了selenium3.141.59的Java源码,没有读完哈。。。重点从两个接口(org.openqa.selenium.WebDriver和org.openqa.selenium.WebElement)开始读,实现继承关系,还是把关系理顺了, 阅读全文
posted @ 2019-03-31 16:00 Andrew213 阅读(553) 评论(1) 推荐(0) 编辑
摘要: 选择使用tomcat下运行jenkins项目,安装步骤如下 1. 安装tomcat,查看想要下载的版本 https://mirrors.cnnic.cn/apache/tomcat/ 2. 安装jdk 3. 安装maven 解压安装完成,记得配置环境变量,例如: 安装完成执行命令 mvn -v ,正 阅读全文
posted @ 2019-02-24 19:35 Andrew213 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 关于自动化测试框架的设计,笔者在前面的随笔里面有介绍和总结,这里结合实际的项目例子做个demo,环境部署参考笔者的的随笔《python3+Robot Framework+PyCharm环境部署及执行脚本》,拿开源的项目管理平台禅道为例。 一、针对项目特点确定选用的开源的测试框架,这里因为要做WEB 阅读全文
posted @ 2018-12-24 22:17 Andrew213 阅读(1680) 评论(0) 推荐(0) 编辑
摘要: 这里只是列举一个很简单的例子,简单介绍工具的使用,编写用例之前,做好WEB UI自动化的准备工作,下载好chrome驱动(这里以chrome为例,不同浏览器有对应的驱动),注意驱动和浏览器版本要对应,不然启动浏览器会抛异常。例外要格外注意的就是编写用例的时候空格,关键字和参数直接是一个table制表 阅读全文
posted @ 2018-12-22 23:11 Andrew213 阅读(1239) 评论(0) 推荐(0) 编辑
摘要: Robot Framework是一个非常优秀的开源关键字驱动自动化测试框架,目前已经支持python2和python3,但是GUI界面RIDE只支持python2,但是python的未来是python3,关于python3的RIDE当前只有一个开发版本,笔者没有用过,听说不太稳定,这里不做过多介绍, 阅读全文
posted @ 2018-12-22 21:40 Andrew213 阅读(5636) 评论(0) 推荐(0) 编辑
摘要: 笔者结合实际项目经验以及学习其他前辈经验,总结分享一下自动化测试框架设计的思想 自动化测试一般有数据驱动和关键字驱动两种模式,这里将两种思想结合起来,即有关键字驱动也有数据驱动。从架构层面设计,采用开发常用MVC框架思想,分为逻辑控制层(Controller)、持久层(Model)、展示层(View 阅读全文
posted @ 2018-12-09 16:19 Andrew213 阅读(3126) 评论(0) 推荐(0) 编辑
摘要: 本篇介绍一下python+selenium复杂操作的处理,基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一、常见特殊情况处理如iframe/弹窗处理 有时候定位不到元素,是因为需要定位的元素在frame里面,这个时候需要切换到对应的frame里面,再去 阅读全文
posted @ 2018-12-08 22:42 Andrew213 阅读(426) 评论(0) 推荐(0) 编辑