Commit 689ac4a0 authored by aha's avatar aha

进入各种类型百科的百科详情页

parent 42611742
import path_setting
from in_common.base_request import BaseRequest
from bs4 import BeautifulSoup
class hybrid_request(BaseRequest):
def __init__(self):
#百科详情页-项目聚合百科
self.data = self.api_load(path_setting.SUBWIKI_CONFIG)
#百科详情页-项目百科
self.data = self.api_load(path_setting.BASEWIKI_ITEM_CONFIG)
#百科详情页-药品(仪器、材料)百科
self.data = self.api_load(path_setting.BASEWIKI_PRODUCT_CONFIG)
#百科详情页-品牌百科
self.data = self.api_load(path_setting.BRAND_CONFIG)
#百科详情页-项目聚合百科
def sub_wiki(self, version, current_city_id, device_id = '97B6764B-2135-4761-9911-701C38CBC272'):
self.params['current_city_id'] = current_city_id
self.params['version'] = version
return self.api_send(self.data['sub_wiki'])
# return self.data
#百科详情页-项目百科
def basewiki_item(self, version, device_id = '97B6764B-2135-4761-9911-701C38CBC272'):
self.params['version'] = version
return self.api_send(self.data['basewiki_item'])
#百科详情页-药品(仪器、材料)百科
def basewiki_product(self, version, device_id = '97B6764B-2135-4761-9911-701C38CBC272'):
self.params['version'] = version
return self.api_send(self.data['basewiki_product'])
#百科详情页-品牌百科
def brand(self, version, device_id = '97B6764B-2135-4761-9911-701C38CBC272'):
self.params['version'] = version
return self.api_send(self.data['brand'])
if __name__ == '__main__':
# print(self.data)
# print(hybrid_request().sub_wiki("744.0", "beijing"))
# print(type(hybrid_request().sub_wiki("744.0", "beijing")))
soup = BeautifulSoup(hybrid_request().sub_wiki("744.0", "beijing"), 'lxml') # html.parser是解析器,也可是lxml
print(soup.prettify(),'百科详情页-项目聚合百科') #输出soup对象的内容
print(soup.title)
\ No newline at end of file
#百科详情页-项目聚合百科-玻尿酸
sub_wiki:
method: GET
url: /hybrid/sub_wiki/127
params:
current_city_id: ${current_city_id}
version: ${version}
data: {}
json: {}
#百科详情页-项目百科-水光针
basewiki_item:
method: GET
url: /hybrid/base_wiki/item/141
params:
version: ${version}
data: {}
json: {}
#百科详情页-药品(仪器、材料)百科-菲洛嘉
basewiki_product:
method: GET
url: /hybrid/base_wiki/product/16
params:
version: ${version}
data: {}
json: {}
#百科详情页-品牌百科-德玛莎
brand:
method: GET
url: /hybrid/brand/98
params:
version: ${version}
data: {}
json: {}
\ No newline at end of file
......@@ -72,7 +72,14 @@ class BaseRequest:
# proxies={"http":"172.30.9.226:8888"}
)
return r.json()
try:
content_type = r.headers.get("content-type").split(";")[0]
except:
content_type = "application/json"
if content_type == 'application/json':
return r.json()
return r.text
# 随机生成trace_id
def trace_id(self):
......
......@@ -275,6 +275,21 @@ BEAUTYCARD_FILTERS = os.path.join(BASE_DIR, "backend_auto/test_backend_data/visu
BEAUTYCARD_SKUS_CONFIG = os.path.join(BASE_DIR, "backend_auto/all_backend_api", "visual_beauty_card.yaml")
BEAUTYCARD_SKUS = os.path.join(BASE_DIR, "backend_auto/test_backend_data/visual_beauty_card_data", "beautycard_skus.yaml")
#百科详情页-项目聚合百科
SUBWIKI_CONFIG = os.path.join(BASE_DIR, "backend_auto/all_backend_api", "hybrid_request.yaml")
SUBWIKI = os.path.join(BASE_DIR, "backend_auto/test_backend_data/hybrid_data", "sub_wiki.yaml")
#百科详情页-项目百科
BASEWIKI_ITEM_CONFIG = os.path.join(BASE_DIR, "backend_auto/all_backend_api", "hybrid_request.yaml")
BASEWIKI_ITEM = os.path.join(BASE_DIR, "backend_auto/test_backend_data/hybrid_data", "basewiki_item.yaml")
#百科详情页-药品(仪器、材料)百科
BASEWIKI_PRODUCT_CONFIG = os.path.join(BASE_DIR, "backend_auto/all_backend_api", "hybrid_request.yaml")
BASEWIKI_PRODUCT = os.path.join(BASE_DIR, "backend_auto/test_backend_data/hybrid_data", "basewiki_product.yaml")
#百科详情页-品牌百科
BRAND_CONFIG = os.path.join(BASE_DIR, "backend_auto/all_backend_api", "hybrid_request.yaml")
BRAND = os.path.join(BASE_DIR, "backend_auto/test_backend_data/hybrid_data", "brand.yaml")
if __name__ == '__main__':
print("==========",LIVEYAML_CONFIG)
import pytest
from bs4 import BeautifulSoup
import path_setting
from all_backend_api.hybrid_request import hybrid_request
from ids_list import get_ids
from in_common.base_request import BaseRequest
#百科详情页-项目百科,水光针
class TestBaseWikiItem:
data = BaseRequest().api_load(path_setting.BASEWIKI_ITEM)
basewiki_item_case, basewiki_item_data = get_ids(data, "basewiki_item")
@pytest.mark.parametrize("param", basewiki_item_data, ids=basewiki_item_case)
def test_basewiki_item(self, param):
r = hybrid_request().basewiki_item(param["version"])
soup = BeautifulSoup(r, 'lxml') # html.parser是解析器,也可是lxml
assert soup.title.string == param["assert"]
print('进入项目百科-水光针的百科详情页')
\ No newline at end of file
import pytest
from bs4 import BeautifulSoup
import path_setting
from all_backend_api.hybrid_request import hybrid_request
from ids_list import get_ids
from in_common.base_request import BaseRequest
#百科详情页-药品(仪器、材料)百科,菲洛嘉
class TestBaseWikiProduct:
data = BaseRequest().api_load(path_setting.BASEWIKI_PRODUCT)
basewiki_product_case, basewiki_product_data = get_ids(data, "basewiki_product")
@pytest.mark.parametrize("param", basewiki_product_data, ids=basewiki_product_case)
def test_basewiki_product(self, param):
r = hybrid_request().basewiki_product(param["version"])
soup = BeautifulSoup(r, 'lxml') # html.parser是解析器,也可是lxml
assert soup.title.string == param["assert"]
print('进入项目百科-菲洛嘉的百科详情页')
\ No newline at end of file
import pytest
from bs4 import BeautifulSoup
import path_setting
from all_backend_api.hybrid_request import hybrid_request
from ids_list import get_ids
from in_common.base_request import BaseRequest
#百科详情页-品牌百科,得玛莎
class TestBrand:
data = BaseRequest().api_load(path_setting.BRAND)
brand_case, brand_data = get_ids(data, "brand")
@pytest.mark.parametrize("param", brand_data, ids=brand_case)
def test_brand(self, param):
r = hybrid_request().brand(param["version"])
soup = BeautifulSoup(r, 'lxml') # html.parser是解析器,也可是lxml
assert soup.title.string == param["assert"]
print('进入项目百科-得玛莎的百科详情页')
\ No newline at end of file
import pytest
from bs4 import BeautifulSoup
import path_setting
from all_backend_api.hybrid_request import hybrid_request
from ids_list import get_ids
from in_common.base_request import BaseRequest
#百科详情页-项目聚合百科,玻尿酸
class TestSubWiki:
data = BaseRequest().api_load(path_setting.SUBWIKI)
subwiki_case, subwiki_data = get_ids(data, "sub_wiki")
@pytest.mark.parametrize("param", subwiki_data, ids=subwiki_case)
def test_sub_wiki(self, param):
r = hybrid_request().sub_wiki(param["version"], param["current_city_id"])
soup = BeautifulSoup(r, 'lxml') # html.parser是解析器,也可是lxml
assert soup.title.string == param["assert"]
print('进入项目聚合百科-玻尿酸的百科详情页')
\ No newline at end of file
basewiki_item:
-
#百科详情页-项目百科,水光针
case: "百科详情页-项目百科,水光针"
version: "744.0"
assert: 水光针
\ No newline at end of file
basewiki_product:
-
#百科详情页-药品(仪器、材料)百科,菲洛嘉
case: "百科详情页-药品(仪器、材料)百科,菲洛嘉"
version: "744.0"
assert: 菲洛嘉
\ No newline at end of file
brand:
-
#百科详情页-品牌百科,得玛莎
case: "百科详情页-品牌百科,得玛莎"
version: "744.0"
assert: 得玛莎
\ No newline at end of file
sub_wiki:
-
#百科详情页-项目聚合百科,玻尿酸
case: "百科详情页-项目聚合百科,玻尿酸"
current_city_id: "beijing"
version: "744.0"
assert: 玻尿酸
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment