2

I need a help to know how can I can iterate a loop over a array which is in another function of the same class.

I tried using the following similar code for automation in selenium and I get the following error.

class Test:
    def array_method1(self, product):
        self.product = product
        if product == "First":
           group1 = ['A','B','C']
        elif product == "Second":
           group2 = ['C','D','E']

     def iterate_product(self, product):
        self.product = product
        for test in self.array_method1(product):
            browser.find_element_by_name(test).click()

I called the function as iterate_product('First') and I got the error as:

TypeError: 'NoneType' object is not iterable

Could someone help me on this?

alecxe
  • 11,425
  • 10
  • 49
  • 107
Ranadheer
  • 89
  • 1
  • 3
  • 10
  • I found the problem why I was getting the error, it was due to the wrong parameters I was sending to the function in my program. – Ranadheer Dec 12 '13 at 16:49

1 Answers1

3

Your code array_method1 above does not return anything hence it returns None so you can not iterate through it with the line:

for test in self.array_method1(product):

array_method1 needs to return like:

    self.product = product
    if product == "First":
       result = ['A','B','C']
    elif product == "Second":
       result = ['C','D','E']
    else:
       result = []
    return result
Steve Barnes
  • 634
  • 3
  • 8