使用selenium做自动化测试,需要编辑一个表单数据,涉及到多个输入框值的数据,运行脚本输入value后,发现每一个输入框的值都会出现缺失。
准备的数据如下:
{'dataname': '一般检查页面数据', 'spend': '37.6', 'pulse': '85', 'breathe': '18', 'diastoleLeft': '125',
'diastoleRight': '85', 'height': '174', 'weight': '75', 'waistline': '35', 'leftEye': '5.1', 'rightEye': '5.2',
'leftCorrect': '5.3', 'rightCorrect': '5.3', 'expected': '保存成功!'}
运行脚本后,页面效果:
检查后发现是因为封装的input_send_keys()中定义了clear()方法,只执行了一次删除操作,并未实现清除输入框的效果
def input_send_keys(self, loc, value, desc=None):
'''输入框输入'''
try:
self.get_element(loc).clear()
self.get_element(loc).send_keys(value)
except Exception as e:
my_log.error("查找元素【{}】失败".format(desc))
my_log.exception(e)
raise e
else:
my_log.info("查找元素【{}】成功".format(desc))