源码如下:
# _*_ coding:utf-8 _*_
import os
import configparser
import codecs
# 获取当前目录下中的配置文件
Path = os.path.join(os.getcwd(), os.listdir()[0])
print(Path)
def get_url(name):
config = configparser.ConfigParser()
config.read(Path)
url = config.get("HTTP", name)
return url
配置文件如下:
[HTTP]
baseurl = https://mo.1394x.com
port = 8000
versoin = 3000
调用文件如下:
import unittest
import requests
import sys
sys.path.append("..")
from config import readconfigfile as config
class TestGetAwardData(unittest.TestCase):
def setUp(self):
# 接口地址
self.host = config.get_url("baseurl")
# 重庆时时彩中APP两面历史接口地址
self.base_url = self.host + "/ssc/GetAwardData?version=3000"
print(self.base_url)
def test_status_code(self):
"""验证接口返回状态码是否是200"""
st_code = requests.get(self.base_url).status_code
st_json = requests.get(self.base_url).json()
self.assertEqual(st_code, 200)
if st_code != 200:
print("接口状态返回错误!!")
self.assertEqual(st_json['state'], 200)
self.assertEqual(st_json['items']['state'], True)
self.assertEqual(st_json['error'], None)
print(len(st_json))
self.assertNotEqual(len(st_json), 0)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
以上代码去调用的时候,提示
Traceback (most recent call last):
File "E:/python_script/AutoTest/Api/Cqssc_api/case/test_01.py", line 12, in setUp
self.host = config.get_url("baseurl")
File "..\config\readconfigfile.py", line 25, in get_url
config.read(Path)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\configparser.py", line 697, in read
self._read(fp, filename)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\configparser.py", line 1015, in _read
for lineno, line in enumerate(fp, start=1):
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 482: illegal multibyte sequence
百度好久了,一直没有找到解决办法,请大神指点!1