1、把接口URL的域名设置为一个配置文件,方便后续域名变更做维护
1)先创建一个setting_ini配置文件存放host域名
2)创建一个read.py文件,去读取setting_ini配置文件中的host域名,这块需要导入 import configparser包
import configparser
import os
path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "config", "setting.ini")
def read_ini():
config = configparser.ConfigParser()
config.read(path, encoding="utf8")
return config
get_ini = read_ini()
print(read_ini()['host']['api_sit_url'])
3)在test_moblie_yaml文件中,导入 from utils.read_ini import read_ini,然后去获取域名
url_01 = read_ini()['host']['api_sit_url']
import pytest
import requests
from utils.read_data import get_data
from utils.read_ini import read_ini
url_01 = read_ini()['host']['api_sit_url']
@pytest.mark.parametrize("moblie, appkey", get_data["mobile_belong_post"])
class TestApi:
def test_mobile(self, moblie, appkey):
print(moblie, appkey)
# url = "https://api.binstd.com/shouji/query"
url = url_01+'/shouji/query'
data = {
"shouji": moblie,
"appkey": appkey
}
print(data)
res = requests.get(url=url, params=data)
print(res.status_code)
assert res.status_code == 200
result = res.json()
assert result['msg'] == "ok"
assert result['result']['shouji'] == '13456755448'
assert result['result']['province'] == "浙江"
assert result['result']['city'] == "杭州"
assert result['result']['company'] == "中国移动"
assert result['result']['cardtype'] is None
assert result['result']['areacode'] == '0571'
if __name__ == '__main__':
TestApi().test_mobile()