当前位置: 首页 > wzjs >正文

网站用什么软件seo排名优化如何推广自己的店铺

网站用什么软件seo排名优化,如何推广自己的店铺,wordpress 公司官网,汽车之家官网网页版入口1、基本目录的搭建 report:静态输出目录(报告或者日志) data:静态输入目录(可以存放Excel数据,被读取的一些数据) utils:实用方法层(这里存放的是项目的公共方法,一般拿到别的项目可以直接使用,列如&…

1、基本目录的搭建

report:静态输出目录(报告或者日志)

data:静态输入目录(可以存放Excel数据,被读取的一些数据)

utils:实用方法层(这里存放的是项目的公共方法,一般拿到别的项目可以直接使用,列如:读取Excel中的数据,连接数据库,)

apis:接口请求层(这里封装的方法一般都是和项目有关系,列如:发送post请求,发送get请求,登录接口,注册接口,支付接口,加入购物车接口)

testcases:用例目录(用来存放项目中涉及到的用例,用例即包含单接口用例,也包含关联接口用例,管理目录时,也可以通过目录分层结构管理)

conftest:这里存放的是fixture,只对文件的所在目录生效,如果只是单目录用例那么可以在根目录下创建,如果分为分层目录结构的用例,那么为了满足当前目录的用例,可以在该目录下创建一个conftest,用来存放fixture,fixture是pytest框架的根髓

pytest.ini:是pytest的配置文件,可用来存放一些运行配置项,如:-v -s ;或者配置日志输出渠道;该文件的具体配置,可百度学习

2、接口框架的重要思想=======》金字塔的配置

①report=data---》utils=apis=---》conftest---》pytest.ini---》testcases

②以上相当于金字塔结构,从左至右为从底部到顶部的过程

③金字塔精髓之处在于,(上部依赖底部,底部不依赖于上部),举一个列子,(testcases中的用例,需要调用apis目录中的接口请求方法,而apis不会去主动调用testcases),所以
        
在工作中,我们如果修改了某一个文件,需要往上找,看看谁调用了这个文件,相对应的进行修改

##########################utils中的db.py的封装
import pymysql#
# # 1. 连接数据库
# conn = pymysql.connect(
#     host='服务器地址',
#     port=3306,
#     user='用户名',
#     password='密码',
#     db='数据库名'
# )
# # 2. 建立游标
# cur = conn.cursor(pymysql.cursors.DictCursor)  # 没有s 有括号
#
# # 3. 执行sql
# # 3.1 执行查询
# cur.execute("SELECT * FROM cardInfo WHERE cardNumber='hzc_00011';")
# conn.commit()
# # 获取结果
# result = cur.fetchall()
# # result = cur.fetchone() # 取一条少一条
# # cur.fetchmany(3)
# print(result)
#
# # 3.2 执行修改
# # cur.execute("DELETE FROM cardInfo WHERE cardNumber='hzc_00011';")
# # conn.commit()
#
# # 4. 关闭
# cur.close()
# conn.close()class DB(object):def __init__(self):self.conn = pymysql.connect(host='服务器地址',port=3306,user='用户名',password='密码',db='数据库名',autocommit=True)self.cur = self.conn.cursor(pymysql.cursors.DictCursor)    #添加此配置项,默认commit了,即建立游标def do_sql(self, sql):print('执行sql', sql)self.cur.execute(sql)    #执行sql语句# self.conn.commit()    return self.cur.fetchall()    #返回查询到的所有结果class FuelCardDB(DB):    #继承DB"""执行具体的sql语句"""def del_card(self, card_number):"""执行删除语句"""self.do_sql(f"DELETE FROM cardInfo WHERE cardNumber='{card_number}'")def check_card(self, card_number):"""执行查询语句"""result = self.do_sql(f"SELECT * FROM cardInfo WHERE cardNumber='{card_number}';")if result:return Truereturn Falsedef add_card(self, card_number):"""执行添加语句"""result = self.check_card(card_number)if not result:self.do_sql(f"INSERT INTO cardInfo (cardNumber) VALUES ('{card_number}');")

api文件的封装

思想:该文件可以将不同的请求方法,不同的请求地址接口,封装成一个类,然后在用例层用到了哪一个就去调取哪一个

以下实列是添加加油卡项目

import requestsDATA_SOURCE_ID = "bHRz"class Api(object):def __init__(self, base_url):self.url = base_url + '/gasStation/process'self.session = requests.session()def add_fuelcard(self, card_number):json_data = {"dataSourceId": DATA_SOURCE_ID, "methodId": "00A", "CardInfo": {"cardNumber": card_number}}res = self.session.post(self.url, json=json_data)print(res.text)return resdef bind_card(self, user_name, id_type, id_number, card_number):json_data = {"dataSourceId": DATA_SOURCE_ID,"methodId": "01A","CardUser": {"userName": user_name,"idType": id_type,"idNumber": id_number},"CardInfo": {"cardNumber": card_number}}res = self.session.post(self.url, json=json_data)print(res.text)return resdef query_card(self, user_id, card_number):#dataSourceId=bHRjczEx&userId=1039&cardNumber=1111111111&methodId=02Aparams = {"dataSourceId": DATA_SOURCE_ID,"methodId": "02A","userId": user_id,"cardNumber": card_number}res = self.session.get(self.url, params=params)print(res.text)return res

思想:该文件下主要封装的是fixtures方法,即为了简化用例层步骤,可以将操作前提步骤和过程步骤在此文件下完成,在该文件下有一个base_url,这个是安装的插件,安装方法为pip install pytest-base-url

import pytest
from utils.db import FuelCardDB
from apis.fuelcard_api import Api@pytest.fixture(scope='session')
def db():#实例化一个对象return FuelCardDB()@pytest.fixture(scope='session')
def api(base_url):#实例化一个对象,并将配置文件中的base_url传给Api层的方法return Api(base_url)@pytest.fixture
def del_card(db):def _del_card(card_number):db.del_card(card_number)yielddb.del_card(card_number)return _del_card

pytest.ini文件的封装

思想:上述已说明,该文件为pytest框架的配置文件,即运行用例时会默认执行该文件操纵,注意表达格式,conftest文件和api文件中都用到了base_url,就是这里的base_url,目的是当服务器地址变了之后,不用去接口层去一一修改服务器地址,只需要修改这里的地址就行,但是如果接口的请求地址变了,就要去一一修改了,毕竟针对不同的请求地址封装了不同的方法

[pytest]
addopts = -s --html=reports/report.html --self-contained-html
testpaths = testcases
base_url = http://***.***.***.***:***
 

3、总结

①接口的主要框架基本已经出来了,当我们需要其他方法时,可以再去相对应的添加,例如读取excel表格数据的方法,可以再封装到utils目录下

②如果需要公共的方法时,可以去百度查一下别人写好的模块,说实话自己写半天也不如人家封装好的实用性更高,我们的目标就是会使用别人封装好的方法就OK了

③如果涉及到自己的业务模块,就要自己去封装了,例如上面所说的,api文件,conftest文件,都是和业务相关的

④对于初级的自动化测试人员,最主要的不是去写框架,而是去运用好别人写好的框架,来设计用例,写用例

⑤一条用例的基本流程:测试环境准备、测试数据准备、发送数据、获取数据响应结果、设置断言、环境清理

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2025最新版】字节大牛讲的最全最细的自动化测试全套教程!永久白嫖,拿走不谢,全程干货无废话!逼自己15天内学完,从软件测试基础到项目实战一套全通关!

 


文章转载自:

http://Xta8Py05.jfnLj.cn
http://izQxDtZZ.jfnLj.cn
http://dC1sR6aa.jfnLj.cn
http://q6ccEWdo.jfnLj.cn
http://l2Sh3Svl.jfnLj.cn
http://ucnd2huH.jfnLj.cn
http://MjXw9WUX.jfnLj.cn
http://RY0p2AKE.jfnLj.cn
http://gyKhD7JX.jfnLj.cn
http://pc8A8n0L.jfnLj.cn
http://oes9691T.jfnLj.cn
http://1fAcgLk2.jfnLj.cn
http://xlW8xTfq.jfnLj.cn
http://qA72n9Jc.jfnLj.cn
http://dDyGxm0h.jfnLj.cn
http://e5ETWG0y.jfnLj.cn
http://p0DCYXbE.jfnLj.cn
http://CQd4CpiW.jfnLj.cn
http://dVMjBuVH.jfnLj.cn
http://1Q5CE6c9.jfnLj.cn
http://Ma0wFcxR.jfnLj.cn
http://UeCQ5LYg.jfnLj.cn
http://c1tyr3EY.jfnLj.cn
http://iJDPfQWA.jfnLj.cn
http://8eko3T8b.jfnLj.cn
http://unvv3IaL.jfnLj.cn
http://SKtCzyvO.jfnLj.cn
http://TZIgskD0.jfnLj.cn
http://Zy9267o5.jfnLj.cn
http://waEkDrRr.jfnLj.cn
http://www.dtcms.com/wzjs/642040.html

相关文章:

  • 没有网站服务器空间如何用ftp建设政务网站
  • 免费做企业推广的网站免费算生辰八字算命
  • 公司建设网站费用属于什么费用吗灰色关键词怎么做排名
  • 企业建设网站目的是什么python基础教程编程题
  • 天津市建设工程交易中心网站想要网站推广页
  • 湖北建设科技中心网站首页做图网站
  • 做网站还有流量么做网站的公司上海
  • 建设私人网站高端玩家
  • 网站英文域名国内现货交易平台
  • 企业门户网站数据库设计天津建设工程信息王
  • 做携程网站的技术怎么开通网络
  • 专做农产品的网站有哪些2022广告行业发展现状及趋势
  • 深圳网站做的好的公司名称wordpress无法接受邮件
  • 易旅游网站建设北京建设网站的公司哪家好
  • 管理网站开发教程网页设计有啥教程
  • 江苏省建设厅的官方网站网店大师
  • 苏州集团网站制作设计品牌建设的具体措施
  • 建一个团购网站要多少钱北京网络营销北京
  • 深圳做棋牌网站建设哪家公司收费合理怎样审请网站
  • 游戏租号网站怎么建设在线拼图
  • 买一个网站多少钱wordpress菜单 标题属性
  • 服务器怎么做网站教程视频嵌入网站
  • 做股权众筹的网站简历模板手机版填写免费
  • 网站建设 顺德完整域名展示网站源码
  • 加强门户网站建设的讲话怎么用dw设计网站页面
  • 做网站下载那个数据库好wordpress mysql扩展
  • 上海专业网站建设市场长春建站公司网站
  • 保山网站建设多少钱wordpress 不同分类
  • 网校网站建设多少钱网站开发公司可行报告
  • 水利建设专项收入在什么网站上申报做网站之前的前期