当前位置: 首页> 财经> 股票 > 电子商务发展现状_在线平面设计图_整合营销传播最基础的形式是_百度搜索资源平台官网

电子商务发展现状_在线平面设计图_整合营销传播最基础的形式是_百度搜索资源平台官网

时间:2025/8/23 21:42:35来源:https://blog.csdn.net/m0_46551861/article/details/147031891 浏览次数:1次
电子商务发展现状_在线平面设计图_整合营销传播最基础的形式是_百度搜索资源平台官网

1.项目功能介绍,重难点

重难点:

  • mock工具使用(涉及到的三方接口过多,由于网络等原因无法调通,所以测试的时候,采用mock工具来模拟返回接口真正调用后响应数据)

2.项目负责哪部分?如何测试?测试用例如何设计的?如何保证测试用例没有遗漏?业务流程是怎么样?

3.负责项目的架构?
三个子系统,web、app、后台

4.数据库经常使用吗?
数据库使用,有两种情况,第一种情况,验证测试结果的正确,通过页面操作,查看落库是否正确;第二种情况,造测试数据,验证某些场景的时候,需要初始化或者删除数据,需要修改数据库。

5.印象最深刻的bug?

6.mock工具使用?

  • 使用场景:三方接口调不通
  • 使用步骤:
  • (1)下载moco的jar包,并且确保自己电脑上已经配置了正确的java环境;
  • (2)创建json文件,文件中按照json文件格式,编写要请求的数据,url、接口请求方式、参数(form、json数据)、响应结果、请求头等;
  • (3)将json文件和jar包存在同一目录下;
  • (4)cmd上启动脚本 java -jar mock的jar包 http -p 端口号 -c json文件
  • (5)通过jemter或者浏览器或postman进行访问。

7.linux考察:常用命令

  • 查看包含Error的日志 grep “Error” test.log
  • 查看包含Error的日志以及它的后10行:grep -A 10 “Error” test.log
  • 查看昨天的包含login的接口的日志:cat test.log |grep “昨天日期” |grep “login”
  • 查看端口号 netstat -anp|grep 8080
  • 查看进程 ps -ef|grep tomcat
  • 查看ip ip addr
  • 根目录下查找a.log文件 find / -name a.log
  • 文件设置权限 chmod 777 text.txt
  • 查看内存使用 free -m
  • 查看磁盘使用 df -h

8.接口自动化怎么做的?(目录,参数化,参数驱动,断言,三方数据返回处理,session管理cookie、log)

  • 难点:处理三方接口返回的数据:三方接口请求的url和参数都来源于后端接口返回的结果,返回的结果是html格式,需要从html提取数据。所有的请求参数都在input标签中,name属性值为参数名,value属性值为参数值。
  • 提取html内容:通过一个beautifulsoup4,进行处理的。
# 提取html
def html_parser(result):# 1、提取htmlhtml = result.json().get("description").get("form")# 2、获取bs对象bs = BeautifulSoup(html, "html.parser")# 3、提取urlurl = bs.form.get("action")print("提取的三方url为:", url)data = {}# 4、提取所有input数据for input in bs.find_all("input"):data[input.get("name")] = input.get("value")return url, data
参数化:
parametrize关键字(@pytest.mark.parametrize("x1,x2,except",data))要求传的数据格式为[(),{}]
数据驱动:json文件构造测试数据({})字典格式
数据格式:x1,x2,expect,响应数据
(1)要将json文件中的数据处理为参数化需要的[()huo{}]格式
先获取json文件路径,拿到文件,定义一个空列表,之后读取json文件内容,
json文件中内容都是以键值对的形式存储的,遍历每一个键,将值存储到空列表中
(提取出来的value值是一个列表,将其处理为tuple)
def read_json(filename, key):filepath = DIR_PATH + os.sep + "data" + os.sep + filenamearrs = []with open(filepath, "r", encoding="utf-8")as f:for data in json.load(f).get(key):arrs.append(tuple(data.values())[1:])#切片,只要将列表位置1后面的元素添加到arr里面,1位置是描述信息return arrs
日志:
接口自动化中通过代码设置日志的级别,debug级别(级别最高)或者info级别的,
低于设置的日志级别的日志都会进行打印。
怎么调用的?
在自动化代码Tool.py中对获取日志的内容、参数、输出日志格式、日志文件路径封装成一个方法,
在网上搜的这串代码,封装好之后,在测试用例脚本中进行调用,
通过log.info("登录接口测试结果为:{}".format(result.text))进行调用。
pytest代码运行顺序:默认按照从上向下的执行顺序,改变默认的执行顺序:使用mark标记, 标记测试用例执行顺序,例如:@pytest.mark.run(order=1),1代表第一个执行,2代表第二个执行,使用到的插件为pytest-ordering 

9.保证接口自动化测试脚本的稳定性?

  • 按顺序执行
  • 清除数据

10.jemter使用?断言怎么写的?

(1)python代码中最简单的断言:assert 200==resp.status_code
(2)jemter中设置断言,加一个响应断言,可以设置断言的字段(响应文本、
响应代码、响应头、响应信息),匹配模式选择包含、相等、字符串等。
(3)UI自动化代码中设置断言的方式:

11.数据库工具封装的使用场景都有哪些?怎么封装的?

将增删改查的常用操作用python代码进行封装,写成一个类方法,
比如测试一个项目需要造数据或者清除数据的时候,只需要提供对应的sql语句,
就可以进行调用。以及在数据库插入大量数据的时候,也可以使用该代码。流程:
(1)导包import pymysql
(2)创建连接conn=pymysql.connect()
(3)创建游标conn.cursor()
(4)根据传入sql,分辨是增删改操作还是查看操作:
增删改操作:执行sql,pymysql.excute(sql),执行成功则提交commit,
失败则进行回滚操作rollback,并将异常错误进行打印
查询操作:
查询单条数据还是多条数据,fentchone或者fetchmany方法进行提取结果集
关键字:电子商务发展现状_在线平面设计图_整合营销传播最基础的形式是_百度搜索资源平台官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: