diff --git a/bin/generate_testsuite_info.py b/bin/generate_testsuite_info.py
index 1847308..ba11ae1 100755
--- a/bin/generate_testsuite_info.py
+++ b/bin/generate_testsuite_info.py
@@ -2,13 +2,13 @@
 
 r"""
 Use robot framework API to extract test data from test suites.
-Refer to https://robot-framework.readthedocs.io/en/3.0.1/autodoc/robot.parsing.html
+Refer to https://robot-framework.readthedocs.io/en/latest/autodoc/robot.running.html
 """
 
 import os
 import sys
 
-from robot.parsing.model import TestData
+from robot.api import SuiteVisitor, TestSuiteBuilder
 
 sys.path.append(os.path.join(os.path.dirname(__file__), "../lib"))
 
@@ -54,6 +54,27 @@
 stock_list = [("test_mode", 0), ("quiet", 0), ("debug", 0)]
 
 
+class TestPrint(SuiteVisitor):
+
+    def __init__(self, option):
+        self.option = option
+
+    def visit_test(self, test):
+        r"""
+        Print the test data from suite test object from option specified.
+        """
+        if self.option == "name":
+            print(test.name)
+        elif self.option == "tags":
+            print(test.tags)
+        elif self.option == "doc":
+            print(test.doc)
+        elif self.option == "all":
+            print(test.name)
+            print(test.tags)
+            print(test.doc)
+
+
 def exit_function(signal_number=0, frame=None):
     r"""
     Execute whenever the program ends normally or with the signals that we
@@ -119,7 +140,7 @@
         print(file_path)
         if "__init__.robot" in file_path:
             continue
-        test_suite_obj = TestData(parent=None, source=file_path)
+        test_suite_obj = TestSuiteBuilder().build(file_path)
         parse_test_file(test_suite_obj, option)
 
 
@@ -138,17 +159,7 @@
                       "tags" or "doc".
     """
 
-    for testcase in test_suite_obj.testcase_table:
-        if option == "name":
-            print(testcase.name)
-        elif option == "tags":
-            print(testcase.tags)
-        elif option == "doc":
-            print(testcase.doc)
-        elif option == "all":
-            print(testcase.name)
-            print(testcase.tags)
-            print(testcase.doc)
+    test_suite_obj.visit(TestPrint(option))
 
 
 def main():
