Пример #1
0
 def add_named_params(self, names, values):
     """ Add a named parameter to the FormFiller.
     name can be a string or a list of strings
     values can be a string of a list of strings        
     """
     name_list = utils.string_or_list_into_list(names)
     values_list = utils.string_or_list_into_list(values)
     for name in name_list:
         if name in self.namedparams:
             self.namedparams[name].extend(values_list)
         else:
             self.namedparams[name] = values_list[:]
Пример #2
0
 def randfill(self, keys, samepass=False, submitter=None):
     res = FormFiller.Params()
     password = None
     multiplepass = False
     for f in keys:
         value = ''
         if f.tag == FormField.Tag.INPUT:
             if f.type == FormField.Type.CHECKBOX:
                 value = FormFiller.rng.choice([f.value, ''])
             elif f.type == FormField.Type.HIDDEN:
                 value = f.value
             elif f.type == FormField.Type.TEXT:
                 if f.name in self.namedparams:
                     value = self.namedparams[f.name]
                 else:
                     value = FormFiller.rng.getWords()
             elif f.type == FormField.Type.PASSWORD:
                 if password is None or not samepass:
                     password = FormFiller.rng.getPassword()
                 else:
                     multiplepass = True
                 value = password
             elif f.type == FormField.Type.FILE:
                 value = "blank.jpg"
         elif f.tag == FormField.Tag.TEXTAREA:
             if f.name in self.namedparams:
                 value = self.namedparams[f.name]
             else:
                 value = FormFiller.rng.getWords(10)
         res[f.name].extend(utils.string_or_list_into_list(value))
     if samepass and not multiplepass:
         # if we were asked to use the same password, but there were no muitple password fields, return None
         return None
     res.submitter = submitter
     return res