1. 自动化测试用的什么框架?
第一种:Python+Selenium+uittest框架
首先是拿到需求文档,基于这个需求去进行搭建。
用pytest+request+allure 这些第三方库进行编写自动化脚本。
举个例子一般的话整个的一个自动化的搭建是分为6层嘛:
第一层:会去做一个公共层,里面去放一些方法,像可调用的公共函数、数据库之类的。(这些函数是放在yaml文件,存放一些数据库地址,还有URL路径还有业务中会用的比如车辆车型还有用户名密码这一些)
第二层:会做一个配置层,然后配置一些像config这样的yaml配置文件,log配置文件,环境配置文件,数据库的配置文件,里面会放一些路径,像我们业务当中会用到的一些密码信息之类的
第三层:数据层,里面会放一些比方说一些excle 表格
第四层:用例层,比方说云端升级任务。任务有分为手动、自动、预约。还有像任务的审核,审核之后下载,下发任务等。包括一些异常场景都在这个用例层里面。
第五层:主函数,就是调用以上分层里的方法实例。去执行这个测试用例吧。
最后就是报告层:生成一个allure 的报告大致就是这个样子。
第二种:如何介绍自动化项目
在面试过程中,要向面试官讲解自己做过的自动化项目。如何介绍,下面简单说下
可以参考:
面试官你好,最近我做的xxx项目中有接口自动化部分,下面简单给您介绍一下:
1.使用的技术主要是 Python + Pytest + Requests + CSV +pytest-html。
a.主要使用Python编程语言实现,
b.Requests 库主要用来模拟发送接口请求
c.Pytest 主要用来维护接口自动化测试用例。
d.CSV模块主要用来进行数据驱动(数据驱动也可以使用Excel文件,Excel文件使用 Openpyxl 库来操作)
e.pyhtml-html主要用来作为测试报告
2.另外在接口自动化也要处理接口的上下游传参
a.我在接口上下游传参的接口主要操作:
i.先定义字典格式的数据。
ii.在上游接口中编写用例,用例通过之后给字典赋值。
ii.在下游接口中引用字典中的字段值。
b.主要通过字典的方式继续上下游传参。
3针对单接口进行参数化处理的时候,主要使用 csv文件数据驱动
a.首先将测试数据保存到csv文件中
b通过Python的csv模块来读取csv文件中的内容
c借助pytes模块中的参数化功能进行数据驱动。
4.最后,自动化代码完成之后,将代码存放在公司的git服务器上,搭建Jenkins 平台,从Jenkins平台上运行接口代码,代码运行完成之后,通过Jenkins会自动发送邮件到公司邮箱。如果接口出现问题,可以第一时间收到通知。
以上就是我最近项目中使用的自动化。简单概括就是使用 Python+pytest+requests+Jenkins实现接口自动化平台的搭建。
3.python有哪些数据类型?
答:有基本数据类型和集合数据类型两种,基本数据类型有数字型(int,float,complex),字符串,布尔型;集合数据类型有列表,元祖,字典,集合。
4.列表和元祖的区别是什么?
答:共同点:访问数据,都是通过索引访问,都可以存放各种类型的数据
不同点:定义上---列表是[](中括号);元祖是()圆括号
使用上---可对列表进行增删改,元组不允许修改。
5.怎么把一个元祖转换为list?
答:python 把元组转为列表的方法是在元组前面添加list
list_a = (1, 9, 10, 6)
print(list_a) # 打印结果 (1, 9, 10, 6) 元组是带小括号的
list_b = list(list_a)
print(list_b) # 打印结果 [1, 9, 10, 6] 列表是带中括号的
6.List你怎么正向排序和反向排序?
答:正向排序(升序)--a.sort()
反向排序(降序)--a.sort(reverse=True)
</