python接口自动化测试遇到的问题及解决方案
工作中xml中的某一个字段是全网唯一,这就需要进行参数化处理。此次对这一个字段进行参数化处理引用了random模块和index()函数。代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import random
import requests
class Demo(unittest.TestCase):
def test_demo1(self):
a,b,c = random.randint(0,9),random.randint(0,9),random.random(0,9)
resu = str((a*100)+(b*10)+(c))
#此次对key2的值进行参数化
xml =(
<key1>value</key1>
<key2>value</key2>
<key3>value</key3>
)
resu1 = xml.index('<key2>')
resu2 = xml.index('</key2>')
xml_data =xml[ : resu1 ]+ '<key2>' + resu + xml[resu2 :] #当时网上搜的此处应该写成xml_data =xml[ : resu1 ]+ resu + xml[resu2 :],按此种方法写后,打印出来的xml字段
少'<key2>',故加上了‘<key2>’
response = requests.post(url, data = xml_data)#写到这参数化xml字符串某个key值的方法也就写完了,后边的就不赘述了。
if __name__ == '__main__':
unittest.main()