- 博客(27)
- 收藏
- 关注
原创 学习15天:pytest
setup/teardown,setup_class/teardown class 它是作用于所有用例或者所有的类@pytest.fixtrue()它的作用是既可以部分也可以全部前后置。conftest.py和@pytest.fixtrue()结合使用,作用于全局的前后置,
2025-03-14 11:02:31
904
原创 学习第13天:环境开关
conf1.ini #测试环境。conf2.ini #正式环境。2、修改common.config.py文件。其他文件调用导入即可。
2025-03-11 15:21:29
125
原创 学习12天:python之参数替换
print(s2) #结果{"mobilephone":"13312345678","pwd":"#pwd123#","regname":"#n123#"}用例参数化,使用*phone*包含关键字,除了可以使用星花,还可以使用其他方式,但是一般情况下星花替换比较方便。#结果:[('th', 'on'), ('th', 'on')]print(res7.group()) #结果:#phone##结果:['phone', 'pwd123', 'n123']然后使用字符串.replace(a,b)替换参数。
2025-03-10 20:28:50
266
原创 学习第11天:python之数据库连接
充值接口,需要先登录再执行后面测试案例,case内容如下。创建数据库,新建common下do_mysql.py。在conf.ini文件中增加mysql配置。新建test_recharge.py。在表格中增加check_sql列。在项目中如何引用和校验数据库呢?
2025-03-10 15:34:18
188
原创 学习第10天:优化测试报告显示
1、问题:报告里面显示的名称不够清晰,希望这里能显示excle表格里面的title。首先,把python第三方库ddt.py找到,路径下图。注意:在使用ddt模块的文件里面修改一下导入路径。
2025-03-07 20:23:18
180
原创 学习第8天:python自动化框架分层设计
公共的方法:common #表格数据读取、数据库校验、自己定义的模块。-测试用例类:testcases #一个接口就是一个测试用例类。-测试数据:data #专门存放数据。#测试运行启动程序 、测试套件、日志、配置文件。-测试报告:reports。-项目的启动文件:run_test.py。#公共的方法:表格数据读取、数据库校验。#用例数据、测试用例、测试报告。-日志文件:logs。-配置文件:conf。
2025-03-06 19:19:33
139
原创 学习第6天:python配置文件config
创建配置文件config01.py。python中常见的配置文件格式。文件举例:config.ini。#导入python内置的模块。
2025-03-06 15:35:36
253
原创 学习第5天:python之优化excel&DDT数据驱动
通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,如元组,列表,字典等数据,需要自行在脚本中对数据进行分解或者使用unpack分解数据。读取文件数据:def read_data(self)4.run_suite.py #运行测试套件,生成HTML。写入数据:def write_data(self)3.testcases.py #生成测试用例。5.register.py #被测试的应用程序。@ddt 类装饰器,用来标记当前类使用ddt数据驱动。第二步加载测试用例套件。
2025-03-06 11:48:58
260
原创 学习第4天:python之Excel数据导入
4.优化13day_excel.py上面代码,使用for循环获取文件内容。创建一个case.xlsx文件,放在同一个目录下,必须是xlsx文件。把用例的数据独立出来,预期结果和实际结果用列表的方式传入。每个用例写的代码都是一样的?优化testcase.py代码。1.openpyxl介绍和安装。WorkBook:工作薄对象。2.Excel的三大对象。3.对Excel的操作。Sheet:表单对象。
2025-03-05 20:28:46
180
原创 学习第3天:python单元测试(2)
是上面代码捕获异常之后,没有抛出异常,uinttest框架,是按照抛出断言异常来确认是否通过,所以我们用通过一个关键字。执行结果,我们发现这条case其实是没有通过,但是结果却显示了通过,是什么原因呢?在testcase.py文件下输出每次的预期结果和实际结果。找到python的安装目录,我的盘是下面路径,抛出异常之后,报告显示正常。
2025-03-05 15:09:02
300
原创 学习第2天:python单元测试(1)
testcases.py #测试用例的编写。run_test.py #运行测试套件。login.py #被测的功能函数。TestTestRunner:测试运行程序。1、unittest框架最核心的四个概念。fixrure:测试环境搭建和销毁。两个点就代表两个测试用例执行通过。TestSuite:测试套件。python21_12文件夹。TestCase:测试用例。
2025-03-04 20:08:13
180
原创 学习第1天:python基础
实质属性:通过实例对象.属性赋值的属性叫实例属性,实例属性时该实例对象独有的,其他对象没有的。os.path.join(a,b) 连接两个部分的路径,组成一个完整的路径。a:追加,新的内容将会被写到已有的内容之后,如果不存在,创建新文件进行写入。类属性:每个实例对象都有,而且值是一样的,直接定义在类里面的变量;#子类的对象,调用和父类同名的方法时,优先调用自身的方法和属性。子类的对象,调用和父类同名的方法时,优先调用自身的方法和属性。w:以写入的方式打开,文件不存在,创建一个新的。
2025-03-04 18:02:01
913
原创 接口测试面试人
(1)在公司里,客户端和服务端通常是由不同的团队开发的,在项目开发过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试,确保服务端逻辑利返回数据是正确的,然后再测试客户端。token就是令牌,是一个字符串,主要是用于做客户端身份认证正,通常登录成功后,服务端会返回token,客户端需要把token值保存下来,续请求其他接口时,需要在请求中携带这个token值,只有服务端对对token校验通过后,才允许访问。(4)get请求可以直接通过浏览器访问,支持刷新和后退。
2024-04-09 18:58:29
292
原创 python 根据字典的键值进行排序
1、利用key排序d = {‘d1’:2, ‘d2’:4, ‘d4’:1,‘d3’:3,}for k in sorted(d):print(k,d[k])d1 2d2 4d3 3d4 12、利用value排序:getitemd = {‘d1’:2, ‘d2’:4, ‘d4’:1,‘d3’:3,}for k in sorted(d,key=d.getitem):print(k,...
2020-01-15 19:52:12
464
原创 RF用例结构和表
套件(数据文件)文件中的表RF支持四种表:分别为Settings、variables、Test Cases,keywordsSettings表 设置表是这个测试套件的全局配置表,比如,说明这个测试套件要使用的测试库、资源文件。测试套件的环境初始化(setup)和清除(teardown),该套件内的标签variables表 变量表就是这个测试套件的全局变量***variables**...
2019-11-30 16:16:04
667
原创 RF自动化环境安装
RF是什么是一个通用性的自动化框架,全程:robotframeworkRF的安装(1) RFPython中安装 robotframework执行命令 pip install robotframework(2)seleniumlibray的安装:Python中安装 seleniumlibrary执行命令 pip install --upgrade robotframework-se...
2019-11-07 14:21:31
654
原创 python调用外部程序
一、两种方式os.systemsubprocess1、os.systemos库里面的system函数,等于打开了操作系统shell,敲入一串命令打开外部程序示例打开画图工具:import osos.system("mspaint")print("after call")运行代码,会发现最后一句输出打印出来,是因为os.system有一个特点:外部程序没有结束,这个调用就...
2019-11-06 11:17:20
740
原创 Python的编码解码
字符编码和解码Python2里面的字符串类型是原始的字节串Python2中编码:从Unicode编码指定格式的字节串(string对象)Python2中的解码:从字符串(string对象)解码成Unicode对象Python3中字符串类型的内部表示其实是UTF-8Python3中的编码:从Unicode字符串编码指定格式为字节串:bytes对象‘你好’.encode(‘UTF8’)...
2019-10-11 17:51:50
176
原创 手机自动化---内嵌网页或 WebView的测试
什么是WebView1、混合(Hybrid)应用一部分是原生界面和代码,而另外一部分是内嵌网页,比如微信、支付宝。内嵌了一个浏览器内核,由浏览器内核实现的。2、安卓应用中的内嵌的展示网页内容的模块,我们称为WebView3、需要开发人员修改代码。APP修改编译黄色高亮部分,意思是打开调试,支持自动化调试,生产环境都是关闭的。appium自动化webView(1)appium中把所有...
2019-09-27 16:24:45
2254
原创 手机自动化--通知和按键操作
通知查看安卓的系统通知在通知栏(1)打开通知栏:driver.open_notifications()(2)查看通知内容:就是使用查看元素方式,获取到通知栏里面的内容(3)返回应用:使用往上滑动,会收起通知栏。或者按返回键的方法。(4)按键操作:driver.press_keycode(4)其中返回的按钮code是4,所以输入code就会做相应操作。其他操作code查看,见下...
2019-09-27 12:31:13
563
原创 手机自动化--滑动界面和注意点
滑动滑动的操作可以用driver.swipe(),duration这个参数很重要,是滑动的时间,单位是毫秒。滑动示范代码: # 连续滑动Barnard20次,每次滑动间隔500毫秒也就是半分钟 for i in range(20): driver.swipe(start_x=544,start_y=247,end_x=179,end_y=247,durati...
2019-09-25 18:13:16
1124
原创 手机自动化--UIAutomator API选择元素
官网文档地址:https://developer.android.com/training/testing/ui-automatorUI Automator测试框架提供了一组API,以构建可在用户应用程序和系统应用程序上执行交互的UI测试。UI Automator API使您可以执行操作,例如在测试设备中打开“设置”菜单或应用启动器。UI Automator测试框架非常适合编写黑盒式自动化测试,...
2019-09-23 19:04:12
404
原创 使用appium查看元素
1、点击appium右上角的放大镜2、打开界面如下3、添加参数4、为了避免每次添加参数麻烦,可以点击保存参数5、保存成功之后,会在列表中展示,选中之后,点击右下角Start Session开始运行。6、运行启动功能介绍(1)有id的会直接显示出来,寻找id比较方便(2)右边的xpath是绝对路径,一般是不会用到(3)刷新图标(4)第二个箭头是滑动的动作(5)眼睛图标...
2019-09-20 19:00:58
1595
1
原创 Bodboy提示当前脚本发生错误
Bodboy提示当前脚本发生错误提示错误信息IE设置1.找到工具 ------Internet选项 ------高级 ;2.将 禁用脚本调试 复选框取消掉去掉这两个选项,点击确认再到Bodboy设置勾选,确定再试试肯定就好啦!...
2019-06-03 15:37:45
371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人