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() 

posted on 2018-01-08 20:53  希望的天空  阅读(1014)  评论(0编辑  收藏  举报