测试脚本

在做自动化测试之前你需要知道的

半腔热情 提交于 2020-03-14 08:23:37
什么是自动化测?   做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多。一直想动笔写一篇文章分享自动化测试实践中的一些经验。终于决定花点时间来做这件事儿。   首先理清自动化测试的概念,广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),或自己所写的一段程序,用于生成1到100个测试数据。狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。   当然,我们更普遍的认识把“自动化测试”看做“ 基于产品或项目UI层的自动化测试”。 分层的自动化测试   这个概念最近曝光度比较高,传统的自动化测试更关注的产品UI层的自动化测试,而分层的自动化测试倡导产品的不同阶段(层次)都需要自动化测试。   相信测试同学对上面的金字塔并不陌生,这不就是对产品开发不同阶段所对应的测试么!我们需要规范的来做单元测试同样需要相应的单元测试框架,如java的Junit、testNG,C#的NUnit ,python 的unittest、pytest 等,几乎所有的主流语言,都会有其对应的单元测试框架。   集成、接口测试对于不少测试新手来说不太容易理解,单元测试关注代码的实现逻辑,例如一个if

SHELL脚本if语句

大城市里の小女人 提交于 2020-03-07 20:11:10
一:条件测试 1. 语法: test 条件表达式 或 [ 条件表达式 ] 2.文件测试: -d:测试是否为目录 -f:测试是否为文件 -e:测试目录或文件是否存在 -r:测试当前用户是否有读取权 -w:测试当前用户是否有写入权限 -x:测试当前用户是否有执行权限 例:测试/etc/hosts文件是否存在.如图 2.数值比较: -eq:相等 -ne:不相同 -le:小于等于 -ge:大于等于 -gt:大于 -lt:小于 例:如图 4.字符串比较: =:第一个字符串和第二个字符串相等 !=:第一个字符串和第二个字符串不相等 -z:检查字符串是否为空 例:如图 5.逻辑测试: &&:逻辑与,表示前后2个条件都成立时,测试命令返回值为0(结果成立) ||:逻辑或的意思,表示前后2个条件有其中一个满足条件时,测试命令返回值为0(结果成立) !:逻辑否,当条件不成立时,测试命令返回值为0(结果成立) 例如图: 二:if条件语句 1.单分支if语句:只在"条件成立"才执行相应的代码操作,否则不做任何操作. 语法: if 条件测试操作 then 命令序列 fi 例如:编写个脚本,测试系统中是否有/media/cdrom这个目录,如果没有则创建. 脚本如下: #!/bin/bash mulu="/media/cdrom" if [ ! -d $mulu ] ; then mkdir -p $mulu

10大主流压力测试工具

旧时模样 提交于 2020-03-06 01:00:30
市面上流行的压力/负载/性能测试工具多是来自国外,近年来国内的性能测试工具也如雨后春笋崛起。同时由于开发的目的和侧重点不同,其功能也有很大差异,下面就为您简单介绍10款目前最常见的测试产品。 1、kylinTOP测试与监控平台(商用版) kylinTOP测试与监控平台是一款B/S架构的跨平台的集性能测试、自动化测试、业务监控于一体的测试平台,它是深圳是奇林软件有限公司旗下的一款产品,该工具开放10个免费虚拟用户可供学习和使用。在易用性上较好,录制脚本支持最新版本的浏览器,对谷歌和火狐都支持非常好。对一些https.的网站证书问题,都为用户自动处理好了,可以轻松录制。录制过程高效便捷这是其它性能工具无法比拟的。仿真能力上是目前业界做的最好的性能工具,可以做到完全仿真浏览器行为,也就是单用户的HTTP请求瀑布图可以和浏览器器完全一样。总之它是目前国内一款非常难得好用的性能测试工具,可以完全替代国外的同类产品。目前在军工领域、测评检测机构、国有企业、银行体系、大型企业有着广泛的应用。支持的协议较多,尤其在视频领域支持的协议非常多,具有独特的优势。官网地址: http://www.70testing.com 2、LoadRunner(商用版) 是一款C/S架构的商业版性能测试工具,在国内存在的时间较早,在国内在使用较广泛,知名度较高。该工具免费开放了50个虚拟用户,可供学习和使用

[原创]使用benchmarksql和pgbench对PostgreSQL Plus Advanced Server进行性能测试

梦想与她 提交于 2020-03-05 11:22:53
/*--> */ /*--> */ 一、测试环境 benchmarksql version:4.0.8 rhel 6.3 vmware esxi 二、理解 benchmarksql 性能测试原理 TPC-C 1 、理解 TPC-C TPC-C 模拟一个批发商的货物管理环境。该批发公司有 N 个仓库,每个仓库供应 10 个地区,其中每个地区为 3000 名顾客服务。在每个仓库中有 10 个终端,每一个终端用于一个地区。在运行时, 10×N 个终端操作员向公司的数据库发出 5 类请求。由于一个仓库中不可能存储公司所有的货物,有一些请求必须发往其它仓库,因此,数据库在逻辑上是分布的。 N 是一个可变参数,测试者可以随意改变 N ,以获得最佳测试效果。 TPC-C 使用三种性能和价格度量,其中性能由 TPC-C 吞吐率衡量,单位是 tpmC 。 tpm 是 transactions per minute 的简称; C 指 TPC 中的 C 基准程序。它的定义是每分钟内系统处理的新订单个数。要注意的是,在处理新订单的同时,系统还要按表 1 的要求处理其它 4 类事务 请求。从表 1 可以看出,新订单请求不可能超出全部事务请求的 45 %,因此,当一个系统的性能为 1000tpmC 时,它每分钟实际处理的请求数是 2000 多个。价格是指系统的总价格,单位是美元,而价格性能比则定义为总价格 ÷

Robot Framework使用技巧之内部变量

瘦欲@ 提交于 2020-03-04 12:08:10
【转载】 1、变量的使用 变量可以在命令行中设置,个别变量设置使用--variable (-v)选项,变量文件的选择使用--variablefile (-V)选项。 通过命令行设置的变量是全局变量,对其所有执行的用例都有效。它们将覆盖变量表格中的同名变量或是 通过变量文件引入到测试数据中的同名变量。 设置单个变量的语法是--variable name:value, “name”是不使用${}的变量名称, “value”则是其赋予的值。 可以多次使用该选项设置多个变量。仅有标量变量可以使用该语法且只能赋值字符串。许多特殊字符在命 令行中很难表示,但可以使用转义字符转义它们,使用—escape 选项。 --variable EXAMPLE:value --variable HOST:localhost:7272 --variable USER:robot --variable ESCAPED:Qquotes_and_spacesQ --escape quot:Q --escape space:_ 在命令行中使用变量文件的基本语法是--variablefile path/to/variables.py 使用 Set Test Variable 创建的变量,可以在该测试用例范围内的任何位置有效。例如,你在一个用户关键字 中创建了变量

python+selenium+unitest测试脚本

蓝咒 提交于 2020-02-28 12:46:02
百度为例 from selenium import webdriver import unittest import time import os class baidutest(unittest.TestCase): def setUp(self): chromedriver = "C:/Users/LX/AppData/Local/Google/Chrome/Application/chromedriver.exe" os.environ["webdriver.chrome.driver"] = chromedriver self.browser = webdriver.Chrome(chromedriver) self.browser.get("http://www.baidu.com") def test_baidu(self): self.browser.find_element_by_id("kw").send_keys("selenium") self.browser.find_element_by_id("su").click() time.sleep(3) title = self.browser.title self.assertEqual(title,u"selenium_百度搜索") def tearDown(self): self.browser.quit

shell脚本学习-02 shell命令

北城以北 提交于 2020-02-26 13:38:00
shell命令 1、read命令:从键盘读入数据,赋给变量 如:read USERNAME echo ${M_VAR} 2、expr命令:对整数型变量进行算术运算 例如:expr 3 + 5 expr $var1 - 5 expr $var1 / $var2 expr $var3 \* 10 复杂的运算:expr expr 5 + 7 /$var4 将运算结果赋予变量:var4= expr $var1 / $var2 var4=$(expr expr $var1 + $var2 /$var3) 3、变量测试语句:用于测试变量是否相等、 是否为空、文件类型等。 格式:test 测试条件 测试范围:整数、字符串、文件 字符串测试: test str1=str2 测试字符串是否相等 test str1!=str2 测试字符串是否不相等 test str1 测试字符串是否不为空 test -n str1 测试字符串是否不为空 test -z str1 测试字符串是否为空 整数测试: test int1 -eq int2 测试整数是否相等 test int1 -ge int2 测试int1是否>=int2 test int1 -gt int2 测试int1是否>int2 test int1 -le int2 测试int1是否<=int2 test int1 -lt int2 测试int1是否

SHELL脚本简单说明

我怕爱的太早我们不能终老 提交于 2020-02-21 22:32:38
1.执行脚本两种方式 bash解释器命令直接运行Shell脚本文件(不需添加执行权限) 输入完整路径的方式执行(需要添加可执行权限) 2.接收用户的参数 $0 : 对应的是当前Shell脚本程序的名称 $# : 共输入个多少的参数 $* : 输入的参数有哪些 $? : 对应的显示上一次命令的执行返回的值 $1,$2,$3,$4 : 分别对应的低N个位置的参数 3.判断用户的参数 条件测试语法可以判断表达式是否成立, 若条件成立则返回数字0,否则便返回其他的随机数值。(表达式两边均应有一个空格) 格式: [ 条件表达式 ] 根据测试对象划分4种: 文件测试语句 逻辑测试语句 整数值比较语句 字符串比较语句 3.1 文件测试所用的参数 运算符 作用 -d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为一般文件 1 -r 测试当前用户是否有权限读取 -w 测试当前用户是否有权限写入 -x 测试当前用户是否有权限执行 3.2 逻辑测试所用的参数 运算符 作用 && “与”,表示当前面的命令执行成功后才会执行它后面的命令 | | “或” ,表示当前面的命令执行失败后才会执行它后面的命令 ! “非” ,表示把条件测试中的判断结果取相反值。 3.3 可用的整数比较运算符 运算符 作用 -eq 是否等于 -nq 是否不等于 -gt 是否小于 -lt 是否大于 -le

基于python的压力测试框架locust的基础使用

穿精又带淫゛_ 提交于 2020-02-20 05:05:15
文章目录 概述 基本的使用方法 第一步:安装locust 第二步:写脚本代码 第三步:脚本调试 第四步:执行测试 总结 参考文章 概述 locust是一个用python写的可分布式部署、模拟大量用户同时请求你的web系统或其他系统从而进行压力测试的框架。locust,中文蝗虫,蝗虫过境,寸草不生。估计作者也是这个意思。 github开源地址 官网文档地址 对于压力测试的要点,引用一位网友的观点: 服务端性能测试工具最核心的部分是压力发生器,而压力发生器的核心要点有两个,一是真实模拟用户操作,二是模拟有效并发 那locust是怎么做到这两点的呢? locust github上的介绍如下: Locust is an easy-to-use, distributed, user load testing tool. It is intended for load-testing web sites (or other systems) and figuring out how many concurrent users a system can handle. The idea is that during a test, a swarm of locusts will attack your website. The behavior of each locust (or test

第一章 内网渗透测试基础

感情迁移 提交于 2020-02-16 10:40:49
本文章大部分内容来自于 <内网安全攻防:渗透测试实战指南>: https://item.jd.com/12743210.html 0x00 内网基础知识 内网也指局域网(Local Area Network, LAN) , 是指在某一区域内由多台计算机互连而成的计算机组 在局域网中, 可以实现文件管理, 应用软件共享, 打印机共享, 工作组内的日程安排, 电子邮件和传真通信服务器等 工作组 将不同的计算机按功能(或部门)分别列入不同的 工作组(Work Group) 加入/创建工作组的方法 : 右键桌面 计算机 -> 属性 -> 更改设置 -> 更改 , 然后输入计算机名和想要加入的工作组名称即可 如果输入的工作组在网络中不存在, , 就相当于新建了一个工作组 设置完后重启电脑, 进入 网络 就可以看到加入工作组的成员了, 也可以 退出工作组, 修改工作组的名称即可 此时在网络中, 我们可以随时访问别人的共享资源, 别人也可以访问我们的共享资源 所以工作组并不存在真正的集中管理作用, 工作组里的所有计算机都是对等的,也就是没有服务器和客户机之分的。 域 域(Domain) : 一个具有安全边界的计算机集合(安全边界: 在两个域中, 一个域的用户无法访问另一个域中的资源). 用户想要访问域内的资源, 必须以合法的身份登录域, 而用户对域内的资源拥有什么样的权限,