在使用RobotFramework-RequestsLibrary时,在使用post关键字时,发现参数data={}无法传入。
调试时发现,在robotframework进行参数传入时,会自动转换为unicode类型,在post方法内部又将data的类型转换为了str。而requests模块的post方法需要的参数是字典类型,所以最后参数无法传入。
解决方案:
将调用requests模块的post方法时,将data转换成字典类型。如下所示:
resp = session.post(self._get_url(session, uri),
data=data, headers=headers,
files=files,
cookies=self.cookies, timeout=self.timeout)
修改成:
resp = session.post(self._get_url(session, uri),
data=eval(data), headers=headers,
files=files,
cookies=self.cookies, timeout=self.timeout)