自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

转载 测试基础---复习

不管你是想做软件功能测试、软件安全测试、软件测试开发等,只要跟软件测试或软件质量沾边,那么工作中都必须具备一定的软件测试理论知识;并且求职测试或质量保证相关岗位的面试过程,可能必问一两个的软件测试理论的问题,来考察对应聘者的软件测试思维或是对软件测试的认识。

2022-10-17 20:54:00 245

原创 python+selenium(15)---判断元素是否存在

有时在写用例时需要通过元素是否存在来验证用例是否执行通过。将判断元素是否存在封装起来,方便调用判断元素是否存在 def getElementExistance(self, dr, element_xpath): """通过元素xpath判断是否存在该元素,存在返回true,不存在返回false""" element_existance = True try: # 尝试寻找元素,如若没有找到则会抛出异常

2021-02-26 11:35:47 1727 1

原创 python+selenium(14)---定位table并获取table中的数据,并删除某一行数据(如果每行后面提供删除按钮)

1.定位table并获取数据 def get_table_content(self, dr, tableId): """ 读取列表数据 :param dr: :param tableId: 列表ID :return: """ arr = [] arr1 = [] # 根据table ID定位到表格 table = dr.find_elem

2021-02-24 15:03:40 5411

原创 python+selenium(13)---用例a和b产生依赖,a失败时b跳过

使用到了pytest.mark.dependency。这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了pytest.mark.skip一、用法:安装pip install pytest-dependency首先我们需要在用例开始的位置打上一个装饰器@pytest.mark.dependency(),这是代表这条用例作为主条件,如果这条用例失败,关联它的用例会跳过执行。在被关联的用例上,也打上带参数的装饰器@pytest

2021-02-23 16:21:08 429 1

原创 Python读取excel数据后保存数据再次提取

首先看一下excel数据1.从excel读取数据并保存,使用的是xlrd库,使用前先导入def sign_time(): data = xlrd.open_workbook("F:\\selenium\\IRS\\data\\testexcel\\kq.xls") # 打开excel,路径注意是双斜杠 sheet = data.sheet_by_name("Sheet1") # 通过sheet页名称来获取sheet工作表 rowNum = sheet.nrows

2021-02-22 14:29:31 745 1

原创 python+selenium(12)---操作时间选择框

时间选择框具有readonly属性,在操作时不能直接使用send_keys输入值,需要使用js去掉readonly属性,然后在进行赋值js = 'document.getElementById("inTimeDate").removeAttribute("readonly")'dr.execute_script(js)dr.find_element_by_xpath(".//*[@id='inTimeDate']").send_keys(sign_in_time)...

2021-02-22 14:27:20 1460

原创 python+selenium(11)---操作id为动态变化的frame(iframe)

在实际应用中会出现iframe ID或者name为动态的情况,导致定位不到iframe,导致失败。为了解决这个问题,试验了下面的方法,可以解决问题先定位到一组iframe,再通过index取需要切进去的frame并取到该frame的id,接下来就可以直接切换进frame具体代码如下:frame = dr.find_elements_by_tag_name("iframe")dr.switch_to.frame(frame[0].get_attribute('id'))...

2021-02-22 13:52:20 1406

原创 python+selenium(10)---pytest+allure+jenkins构建并发送邮件

一、jenkins安装allure插件系统管理》插件管理,搜索allure搜索到后进行安装,安装完成重启Jenkins,安装完成后显示为Allure Jenkins Plugin二、全局工具配置系统管理》全局工具配置三、在job中配置新建一个任务》设置》构建(build)四、构建查看生成的报告五、配置发送邮件先安装Email Extension Plugin插件,系统管理》系统设置1.设置jenkins地址和管理员邮箱地址2.设置发

2021-01-25 11:12:46 595

原创 python+selenium(9)---用例中添加日志

在工程中添加一个日志模块我们采用的是在用例中抛异常,打印日志。打印日志使用的是logginglog.py如下:import loggingfrom logging import handlersclass Logger(object): level_relations = { 'debug': logging.DEBUG, 'info': logging.INFO, 'warning': logging.WARNING, .

2021-01-22 14:03:09 574 1

原创 python+selenium(8)---pytest+allure用例执行失败截图并展示在报告中

实现该功能要用到pytest中的hook函数(钩子函数),如下:可直接使用该代码# 用例失败后自动截图@pytest.hookimpl(tryfirst=True, hookwrapper=True)def pytest_runtest_makereport(item, call): """ 获取用例执行结果的钩子函数 :param item: :param call: :return: """ outcome = yield r

2021-01-18 16:46:53 2517 1

原创 python+selenium(7)---pytest+allure生成测试报告

1.下载安装allure下载合适版本https://github.com/allure-framework/allure2/releases,下载了2.13.0版本解压文件并将 bin目录添加到Path环境变量中验证allure:输入allure --version,返回版本信息则安装成功2.安装pytest和allure-pytestpip install pytestpip install allure-pytest3.执行测试用例在项目根目录下执行如下命令,就.

2021-01-15 16:10:51 680 2

原创 python+selenium(6)---pytest生成HTML测试报告

1.安装pytest -htmlpip install pytest -html2.执行命令生成HTML报告打开cmd,cd到需要执行pytest用例的目录,执行指令:pytest --html=report.html执行完成后会在当前目录生成report.html,可打开查看

2021-01-15 15:39:07 317

原创 python+selenium(5)---pytest测试用例参数化之parametrize

1.pytest.mark.parametrize装饰器实现测试用例参数化@pytest.mark.parametrize(“方法中用到的参数名”,参数值)第一个参数是字符串,多个参数中间用逗号隔开 第二个参数是list,多组数据用元祖类型以登录为例:看到执行结果如下:一个通过,一个失败,互不影响...

2021-01-12 15:48:34 454

原创 python+selenium(4)---pytest测试用例参数话之conftest.py和yield简单的使用

conftest.py特点conftest.py 文件中存放参数化函数,可作用于模块内的所有测试用例conftest.py 配置里可以实现数据共享,不需要import就能自动找到一些配置,pytest默认读取里面的配置conftest.py配置需要注意以下点:conftest.py配置脚本名称是固定的,不能改名称 conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件 不需要import导入 conftest.py,pytest用例会自动查找c

2021-01-09 14:40:23 1797

原创 python+selenium(3)---读取excel数据并使用该数据

1.Python读取excel通过xlrd库,因此先要安装该库2.安装完成后引用该库 import xlrd3.写一个读取excel的方法:for循环可根据实际情况进行改变4.在具体测试用例中引用该方法:

2021-01-05 11:21:14 420

原创 python+selenium(2)---在pycharm中使用pytest框架执行测试用例(一个简单的例子)

1.pytest安装安装命令:pip install -U pytest 安装后查看pytest版本:pytest -version2.在pycharm中设置pytest新建一个工程后,左上角file->Setting->Tools->Python Integrated Tools,选择py.test3.了解下pytest的用例设计原则文件名以test_*.py文件和*_test.py 以test_开头的函数 以Test开头的类,并且不能带有init...

2020-12-31 15:26:42 925 2

原创 Python+selenium(1)---封装登录并引用

需要注意的地方:1.没有使用unittest框架,只是用了简单的调用函数 2.由于只是调用函数,所以函数是不需要有self的 3.由于要使用dr即driver ,所以封装的登录函数中需要有这个变量 4.调用函数时也需要传入这个参数在public下添加一个login.pydef login_in(dr, user, pw)...

2020-12-26 14:13:50 1407

原创 jmeter+jenkins框架配置中遇到的问题

问题整理

2020-12-15 19:42:38 93

原创 jmeter(12)---性能测试时监控服务器性能(内存、CPU等)

一、下载首先进入网址https://jmeter-plugins.org/downloads/old/ 下载Jmeter插件资源JMeterPlugins-Standard-1.4.0.zipJMeterPlugins-Extras-1.4.0.zip进入网址https://jmeter-plugins.org/wiki/PerfMon/ 下载Perf Mon 插件ServerAgent-2.2.1.zip二、配置将 JMeterPlugins-Standard-1....

2020-12-08 16:06:07 1112

原创 rp学习1---web页面左侧导航栏收缩

一、首先使用几个矩形框将所有的导航栏按照需要和层级画出来,如下:二、将父菜单和子菜单分别转化为动态面板,具体转化动态面板方式如下:选择要转为面板的部分,如两个子菜单(鼠标画框框住两个菜单即可,会将框内的所有内容作为一个面板),右击三、选择父菜单,创建鼠标单击时的case四、按下F5即可预览实际效果了...

2019-12-04 14:32:07 804

原创 robot framework(4)---选择下拉框

1.类型非select的下拉框如下:这类型需要按照正常元素来进行点击选取如下:备注:点击非按钮类型的元素,使用click element

2019-07-23 18:16:48 823

原创 robot framework(3)---封装登录方法(Resource)及关键字的使用

在进行软件自动化测试时,我们设计并编写好一个测试脚本的业务逻辑之后,需要将其中的业务数据提取为变量,并对业务逻辑进行封装。在后续的测试过程中,只需设置每次测试的测试数据,而不必更改业务逻辑。比如登录,每次需要变化的只有用户名和密码,因此可以在后续的测试中,我们应该将这一逻辑封装为一个关键字(这里可以理解为一个自定义函数,并将搜索内容作为输入变量)。每次测试时,只需要改变“用户名和密码”即可。...

2019-07-22 17:11:16 1302

原创 robot framework(2)---简单的登录(UI自动化)

示例如下:需要注意的点:1.本来登录是需要输入验证码的,但是验证码无法获取,因此可以和开发沟通去掉或保持验证码不变 2.使用断言来判断逻辑上是否登录成功。第一次使用should be equal as strings这个函数进行断言...

2019-07-22 15:29:23 1578

原创 robot framework(1)---入门(附带百度搜索示例)

关于环境的安装可参考:https://www.cnblogs.com/gcgc/p/9340392.html安装完成后打开ride.py如下:一、新建项目file》new project 。弹出框输入项目名称选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试用例,这不利于用例的管理二、添加测试级(测...

2019-07-11 14:42:21 550

原创 jmeter测试(10)---通过接口新增数据后从数据库获取ID和接口返回的ID进行比较(使用beanshell断言)

通过新增项目接口新增一个项目,我们可以看到返回值里面有项目ID。如下:在对应的数据库中也可以查找到该项目的ID。为了判断数据库和返回是否一致,就需要进行断言。因为涉及数据库取值,在这里我们使用beanshell断言。一、连接MySQL数据库。具体驱动的安装和连接注意事项,见jmeter测试(8)----连接数据库。二、从数据库中获取新增项目的ID。三、获取返回值里面...

2019-01-23 16:14:35 2145

原创 jmeter测试(9)----通过接口新增数据后再进行数据还原

整体的操作如下:登录系统》新增100个人员》删除新增的数据,进行数据还原。一、登录系统》新增100个人员接口的抓取和参数填写就不在多说。由于各个系统不一样,所在在进行新增操作时,接口要带入登录的token或者其他的信息等(比如,系统就要求4个参数的值要和登录时的一致,这些都是要和接口开发者进行沟通),这些信息都需要进行参数化处理(详见: jmeter接口性能测试(7)----在其他接口中使...

2018-12-27 18:03:59 1789

原创 jmeter测试(8)----连接数据库

1.首先下载jdbc的驱动,根据MySQL版本不同需要下载不同的驱动。历史版本jdbc的下载:http://central.maven.org/maven2/mysql/mysql-connector-java/2.将下载的驱动放到F:\jmeter\apache-jmeter-3.1\apache-jmeter-3.1\lib下3.启动jmeter,添加线程组4.添加JDBC C...

2018-12-11 17:44:04 496

原创 Jenkins发送邮件的配置(不是QQ邮箱)

1.首先确认下是否安装了Email Extension Plugin 插件在系统设置》插件管理中查看2.系统管理》系统设置中进行如下配置2.1配置系统管理员邮箱2.2Extended E-mail Notification设置2.3邮件通知配置,配置同上3.在job中增加构建后操作 Editable Email Notification在上图页面点击...

2018-12-03 15:27:22 205

原创 jmeter接口性能测试(7)----在其他接口中使用登录返回值中的token

在调试接口的过程中,参数值都正确,但是接口返回:缺少参数。查看接口发现:请求头中有一个login-token参数因此在该请求中添加“HTTP信息头管理器”,添加如下:然后再去执行,返回成功。但是过了一段时间又失败,这是因为每次登陆服务器都生成是一个新的token令牌,过期后使用之前的就会失败。因此这里将token值参数化,具体步骤如下:1.登陆接口添加后置处理器:JSON Ex...

2018-12-02 13:47:10 4946 1

原创 jmeter接口性能测试(6)----post传参注意点

今天使用了一个post类型的http接口,在所有参数值都正确的情况下接口始终不能正确返回,如下:执行后返回如下:但是在postman中可以正常返回的。为此花费了好久,最后终于找到了问题根源。首先我们查看抓取的接口:然后我们在回到jmeter在请求的设置中进行如下勾选然后再次执行,返回成功...

2018-12-02 13:25:38 2244

原创 jmeter接口性能测试(5)----自动生成测试报告

今天学习了在jmeter中自动生成HTML格式的文档保存好脚本后,通过cmd.exe进入到jmeter的bin目录下:输入以下命令:jmeter -n -t xxx.jmx(脚本的路径) -l result.jtl -e -o /tmp/Result(报告的路径)执行完成后在报告的路径中看到如下:打开HTML,看到如下界面:需要注意的是:每次启动命令之前,文件夹...

2018-11-26 17:00:14 1370

原创 jmeter接口性能测试(4)----提取json中的数据并应用到断言中

接口信息如下:运行接口后在查看结果树种查看响应数据,查看方式选择:JSON Path Tester我们要在json中提取如下的数据:查看json体的路径关系,在JSON path Expression中输入路径,关注是否能得到想要的数值。如:我们想要获取上图中的name数值,查看他的路径后进行测试:进行提取添加后置处理器中的JSON Extractor(json...

2018-11-25 15:18:20 1753

原创 jmeter接口性能测试(3)----参数化

1.添加用户自定义变量给http请求添加用户自定义变量:线程组》配置元件》用户自定义变量定义一个名称为s的变量在http请求中调用该参数2.CSV Data Set Config线程组》配置元件》CSV Data Set ConfigFilename:参数文件名,一般是.csv和.txt文件。 File encoding:参数文件的编码格式。一般使用UTF-8...

2018-11-08 15:54:40 371

原创 jmeter接口性能测试(2)----性能测试全过程

依然使用上一篇文章的接口在上一篇文章我们已经添加了http请求、断言、查看结果树。在开始之前我们在添加聚合报告(线程组》添加》监听器》聚合报告)。调试好接口后开始执行性能测试1.设置线程组:根据实际需要设置1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。 2. Ramp-Up Period(in seconds)准备时...

2018-11-08 15:21:45 459

原创 jmeter接口性能测试(1)----简单的接口测试入门

首先来看一下接口的信息:host:http://api.jhled888.comuri: /cgi-bin/get.json接口请求方式: GET入参:appid: jhyjlhxa03q4f2qlmfappsecret:eb28066907b14310a9401c0586c840dfTerminal:9770接口调用请求说明http://api.jhled888.com/cgi-bin...

2018-11-08 13:00:40 2026

原创 postman学习(1)----简单的get请求

   一、下载和安装   下载地址:Postman Apps    安装双击安装包安装即可     二、打开postman,界面如下:学习过程中使用的接口是一个在公司项目中使用的接口:测试设备信息:appid: jhyjlhxa03q4f2qlmf appsecret:eb28066907b14310a9401c0586c840dfTerminal:9770...

2018-11-05 18:07:15 159

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除