diff --git a/.travis.yml b/.travis.yml index 459410d..b37b522 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,14 @@ language: python -python: - - "2.7" +matrix: + include: + - python: "2.7" + env: + - INTERPRETER=python2 + install: - - pip install robotframework - - pip install robotframework-selenium2library==1.8.0 + - pip install future + - pip install robotframework==3.0.3 + - pip install robotframework-seleniumlibrary==3.1.1 script: -- "python test/run_test.py" +- "$INTERPRETER --version" +- "$INTERPRETER test/run_test.py" diff --git a/Robot.py b/Robot.py index 9cdfb0a..bc54c8a 100644 --- a/Robot.py +++ b/Robot.py @@ -1,5 +1,6 @@ """ -Robot Framework from sublime is a autocompletion plugin for Sublime Text 3 +Robot Framework Assistant offers IDE features for editing Robot Framework test +data in Sublime Text 3. """ import sys import os diff --git a/command_helper/__init__.py b/command_helper/__init__.py index e69de29..fd444f1 100644 --- a/command_helper/__init__.py +++ b/command_helper/__init__.py @@ -0,0 +1,8 @@ +from .completions import (check_prefix, get_completion_list, + get_kw_completion_list) +from .get_documentation import GetKeywordDocumentation +from .get_keyword import GetKeyword +from .get_metadata import get_rf_table_separator +from .jump_to_file import JumpToFile +from .noralize_cell import ReturnKeywordAndObject +from .workspace_objects import WorkSpaceObjects diff --git a/command_helper/completions.py b/command_helper/completions.py index 7cd1b21..9ca7764 100644 --- a/command_helper/completions.py +++ b/command_helper/completions.py @@ -1,12 +1,9 @@ import re import difflib from json import load as json_load -try: - from db_json_settings import DBJsonSetting - from utils.get_text import get_prefix -except: - from ..setting.db_json_settings import DBJsonSetting - from ..command_helper.utils.get_text import get_prefix + +from RobotFrameworkAssistant.dataparser import DBJsonSetting +from RobotFrameworkAssistant.command_helper.utils import get_prefix def check_prefix(line, column, prefix): diff --git a/command_helper/get_documentation.py b/command_helper/get_documentation.py index 4ea2e05..76d70ae 100644 --- a/command_helper/get_documentation.py +++ b/command_helper/get_documentation.py @@ -1,17 +1,12 @@ import collections from os import path -try: - from parser_utils.file_formatter import rf_table_name - from parser_utils.util import get_index_name, normalise_path - from noralize_cell import get_data_from_json - from db_json_settings import DBJsonSetting - from utils.util import kw_equals_kw_candite -except: - from ..dataparser.parser_utils.file_formatter import rf_table_name - from ..dataparser.parser_utils.util import get_index_name, normalise_path - from ..command_helper.noralize_cell import get_data_from_json - from ..setting.db_json_settings import DBJsonSetting - from ..command_helper.utils.util import kw_equals_kw_candite + +from RobotFrameworkAssistant.command_helper.noralize_cell import get_data_from_json +from RobotFrameworkAssistant.command_helper.utils import kw_equals_kw_candite +from RobotFrameworkAssistant.dataparser import DBJsonSetting +from RobotFrameworkAssistant.dataparser.parser_utils import (rf_table_name, + get_index_name, + normalise_path) class GetKeywordDocumentation(object): diff --git a/command_helper/get_keyword.py b/command_helper/get_keyword.py index 443340b..9c8fc6e 100644 --- a/command_helper/get_keyword.py +++ b/command_helper/get_keyword.py @@ -1,16 +1,11 @@ import re from os import path from sys import version_info -try: - from get_documentation import GetKeywordDocumentation - from db_json_settings import DBJsonSetting - from noralize_cell import get_data_from_json - from utils.util import kw_equals_kw_candite -except: - from .get_documentation import GetKeywordDocumentation - from ..setting.db_json_settings import DBJsonSetting - from ..command_helper.noralize_cell import get_data_from_json - from ..command_helper.utils.util import kw_equals_kw_candite + +from RobotFrameworkAssistant.command_helper import GetKeywordDocumentation +from RobotFrameworkAssistant.command_helper.noralize_cell import get_data_from_json +from RobotFrameworkAssistant.command_helper.utils import kw_equals_kw_candite +from RobotFrameworkAssistant.dataparser import DBJsonSetting class GetKeyword(object): @@ -85,7 +80,9 @@ def get_lib_keyword_file(self, table_path, object_name, keyword): table_kw_object = data[DBJsonSetting.library_module] for table_kw_data in table_keywords: if kw_equals_kw_candite(keyword, table_kw_data): - if not object_name or object_name == table_kw_object: + if table_kw_object == object_name: + return table_keywords[table_kw_data][DBJsonSetting.keyword_file] + elif not object_name: return table_keywords[table_kw_data][DBJsonSetting.keyword_file] def get_regex_library(self, keyword): diff --git a/command_helper/jump_to_file.py b/command_helper/jump_to_file.py index f0e3566..9170279 100644 --- a/command_helper/jump_to_file.py +++ b/command_helper/jump_to_file.py @@ -1,12 +1,8 @@ import os import re -try: - from parser_utils.file_formatter import lib_table_name - from noralize_cell import get_data_from_json -except ImportError: - from ..dataparser.parser_utils.file_formatter import lib_table_name - from .noralize_cell import get_data_from_json +from RobotFrameworkAssistant.command_helper.noralize_cell import get_data_from_json +from RobotFrameworkAssistant.dataparser.parser_utils import lib_table_name class JumpToFile(object): diff --git a/command_helper/noralize_cell.py b/command_helper/noralize_cell.py index c5a6fa1..cfa3821 100644 --- a/command_helper/noralize_cell.py +++ b/command_helper/noralize_cell.py @@ -1,11 +1,9 @@ import re import collections -try: - from utils.util import get_data_from_json, kw_equals_kw_candite - from db_json_settings import DBJsonSetting -except: - from .utils.util import get_data_from_json, kw_equals_kw_candite - from ..setting.db_json_settings import DBJsonSetting + +from RobotFrameworkAssistant.command_helper.utils import (get_data_from_json, + kw_equals_kw_candite) +from RobotFrameworkAssistant.dataparser import DBJsonSetting class ReturnKeywordAndObject(object): diff --git a/command_helper/utils/__init__.py b/command_helper/utils/__init__.py index e69de29..0c26df2 100644 --- a/command_helper/utils/__init__.py +++ b/command_helper/utils/__init__.py @@ -0,0 +1,2 @@ +from .get_text import get_line, get_prefix, get_object_from_line +from .util import get_data_from_json, kw_equals_kw_candite diff --git a/command_helper/utils/util.py b/command_helper/utils/util.py index f6d1c7e..2e8f4da 100644 --- a/command_helper/utils/util.py +++ b/command_helper/utils/util.py @@ -3,10 +3,8 @@ def get_data_from_json(json_file): - f = open(json_file) - data = json_load(f) - f.close() - return data + with open(json_file) as f: + return json_load(f) def _keyword_with_embedded_arg(kw, kw_candite): @@ -24,14 +22,14 @@ def _keyword_no_embedded_arg(kw, kw_candite): def kw_equals_kw_candite(kw, kw_candite): - """Returns True if kw == kw_canditate + """Returns True if kw == kw_canditate - Spaces, under score are removed and - strings are converted to lower before validation. + Spaces, under score are removed and + strings are converted to lower before validation. - Also support keyword conditate with emedded args - """ - if '$' in kw_candite: - return _keyword_with_embedded_arg(kw, kw_candite) - else: - return _keyword_no_embedded_arg(kw, kw_candite) + Also support keyword conditate with emedded args + """ + if '$' in kw_candite: + return _keyword_with_embedded_arg(kw, kw_candite) + else: + return _keyword_no_embedded_arg(kw, kw_candite) diff --git a/command_helper/workspace_objects.py b/command_helper/workspace_objects.py index 1fd32e5..00f04ea 100644 --- a/command_helper/workspace_objects.py +++ b/command_helper/workspace_objects.py @@ -1,10 +1,7 @@ from os import listdir, path -try: - from noralize_cell import get_data_from_json - from db_json_settings import DBJsonSetting -except: - from ..command_helper.noralize_cell import get_data_from_json - from ..setting.db_json_settings import DBJsonSetting + +from RobotFrameworkAssistant.command_helper.noralize_cell import get_data_from_json +from RobotFrameworkAssistant.dataparser import DBJsonSetting class WorkSpaceObjects(object): diff --git a/commands/command_logging.py b/commands/command_logging.py index 8b3ec2f..4fd06bc 100644 --- a/commands/command_logging.py +++ b/commands/command_logging.py @@ -1,7 +1,7 @@ -import sublime_plugin import sublime -from ..setting.setting import get_setting -from ..setting.setting import SettingObject +import sublime_plugin + +from ..setting import get_setting, SettingObject class LogCommands(sublime_plugin.TextCommand): diff --git a/commands/index_open_tab.py b/commands/index_open_tab.py index 75e398f..643490d 100644 --- a/commands/index_open_tab.py +++ b/commands/index_open_tab.py @@ -1,14 +1,13 @@ -import sublime_plugin -import sublime import subprocess from platform import system from os import path, makedirs -from ..setting.setting import get_setting -from ..setting.setting import SettingObject -from ..dataparser.parser_utils.file_formatter import rf_table_name -from ..dataparser.parser_utils.util import normalise_path -from .scan_and_index import index_popen_arg_parser -from .scan_and_index import add_builtin_vars + +import sublime_plugin +import sublime + +from .scan_and_index import index_popen_arg_parser, add_builtin_vars +from ..setting import get_setting, SettingObject +from ..dataparser.parser_utils import rf_table_name, normalise_path class IndexOpenTabCommand(sublime_plugin.TextCommand): diff --git a/commands/on_save_create_table.py b/commands/on_save_create_table.py index 5e08b0d..4d2e44b 100644 --- a/commands/on_save_create_table.py +++ b/commands/on_save_create_table.py @@ -1,7 +1,7 @@ import sublime_plugin import sublime -from ..setting.setting import get_setting -from ..setting.setting import SettingObject + +from ..setting import get_setting, SettingObject class OnSaveCreateTable(sublime_plugin.EventListener): diff --git a/commands/open_log_file.py b/commands/open_log_file.py index f6b64f2..5a6db08 100644 --- a/commands/open_log_file.py +++ b/commands/open_log_file.py @@ -1,7 +1,7 @@ import sublime import sublime_plugin -from ..setting.setting import get_log_file +from RobotFrameworkAssistant.setting import get_log_file class OpenLogFile(sublime_plugin.TextCommand): diff --git a/commands/query_completions.py b/commands/query_completions.py index eb3d364..ecfe5b3 100644 --- a/commands/query_completions.py +++ b/commands/query_completions.py @@ -1,15 +1,14 @@ +from os import path + import sublime_plugin import sublime -from os import path + from ..command_helper.completions import get_completion_list, check_prefix -from ..setting.setting import get_setting -from ..setting.setting import SettingObject -from ..setting.db_json_settings import DBJsonSetting -from ..dataparser.parser_utils.file_formatter import rf_table_name -from ..dataparser.parser_utils.util import get_index_name, normalise_path -from ..command_helper.utils.get_text import get_line -from ..command_helper.utils.get_text import get_object_from_line -from ..command_helper.get_metadata import get_rf_table_separator +from ..setting import SettingObject, get_setting +from ..dataparser import DBJsonSetting +from ..dataparser.parser_utils import rf_table_name, get_index_name, normalise_path +from ..command_helper.utils import get_line, get_object_from_line +from ..command_helper import get_rf_table_separator SNIPPET_TRIGGER = [':f', '*', ':'] @@ -46,6 +45,7 @@ def return_completions(self, view, prefix, locations): # workspace = get_setting(SettingObject.workspace) open_tab = view.file_name() index_file = get_index_file(open_tab) + print(view, prefix, index_file) if index_file: return self.get_completions(view, prefix, index_file) else: diff --git a/commands/scan.py b/commands/scan.py index 4d389f4..5179af2 100644 --- a/commands/scan.py +++ b/commands/scan.py @@ -1,10 +1,11 @@ -import sublime_plugin -import sublime import subprocess from platform import system from os import path, makedirs -from ..setting.setting import get_setting -from ..setting.setting import SettingObject + +import sublime_plugin +import sublime + +from RobotFrameworkAssistant.setting import get_setting, SettingObject def scan_popen_arg_parser(mode): @@ -48,6 +49,7 @@ def run_scan(self, log_file): p_args = scan_popen_arg_parser('all') p_args.append('--workspace') p_args.append(get_setting(SettingObject.workspace)) + print(p_args) p = subprocess.Popen( p_args, stderr=subprocess.STDOUT, diff --git a/commands/scan_and_index.py b/commands/scan_and_index.py index a8200cf..2bf8ba8 100644 --- a/commands/scan_and_index.py +++ b/commands/scan_and_index.py @@ -1,13 +1,14 @@ -import sublime_plugin -import sublime +import json import subprocess +from hashlib import md5 from platform import system from os import path, makedirs -from hashlib import md5 -import json -from ..setting.setting import get_setting -from ..setting.setting import SettingObject -from ..setting.db_json_settings import DBJsonSetting + +import sublime_plugin +import sublime + +from ..setting import get_setting, SettingObject +from ..dataparser import DBJsonSetting def index_popen_arg_parser(mode): diff --git a/commands/scan_open_tab.py b/commands/scan_open_tab.py index 98c4015..178f4af 100644 --- a/commands/scan_open_tab.py +++ b/commands/scan_open_tab.py @@ -1,10 +1,11 @@ -import sublime_plugin -import sublime import subprocess -from platform import system from os import path, makedirs -from ..setting.setting import get_setting -from ..setting.setting import SettingObject +from platform import system + +import sublime_plugin +import sublime + +from ..setting import get_setting, SettingObject from .scan import scan_popen_arg_parser diff --git a/commands/setting_import_helper.py b/commands/setting_import_helper.py index babff8d..956669b 100644 --- a/commands/setting_import_helper.py +++ b/commands/setting_import_helper.py @@ -1,12 +1,13 @@ -import sublime_plugin -import sublime import re from os import path -from ..setting.setting import get_setting -from ..setting.setting import SettingObject -from ..command_helper.utils.get_text import get_line -from ..setting.db_json_settings import DBJsonSetting -from ..command_helper.workspace_objects import WorkSpaceObjects + +import sublime_plugin +import sublime + +from ..setting import get_setting, SettingObject +from ..command_helper.utils import get_line +from ..dataparser import DBJsonSetting +from ..command_helper import WorkSpaceObjects class SettingImporter(sublime_plugin.TextCommand): diff --git a/commands/show_documentation.py b/commands/show_documentation.py index cb2c1c5..fabdcc5 100644 --- a/commands/show_documentation.py +++ b/commands/show_documentation.py @@ -1,12 +1,12 @@ import sublime_plugin import sublime -from ..setting.setting import get_setting -from ..setting.setting import SettingObject + +from ..setting import get_setting, SettingObject from .query_completions import get_index_file -from ..command_helper.utils.get_text import get_line -from ..command_helper.noralize_cell import ReturnKeywordAndObject -from ..command_helper.get_metadata import get_rf_table_separator -from ..command_helper.get_documentation import GetKeywordDocumentation +from ..command_helper.utils import get_line +from ..command_helper import ReturnKeywordAndObject +from ..command_helper import get_rf_table_separator +from ..command_helper import GetKeywordDocumentation class ShowKeywordDocumentation(sublime_plugin.TextCommand): diff --git a/dataparser/__init__.py b/dataparser/__init__.py index 2737482..0ce3925 100644 --- a/dataparser/__init__.py +++ b/dataparser/__init__.py @@ -2,3 +2,4 @@ Robot Framework is installed. These modules must not be run the from the Python included in the Sublime Text """ +from .db_json_settings import DBJsonSetting diff --git a/dataparser/data_parser/__init__.py b/dataparser/data_parser/__init__.py index e69de29..edc1008 100644 --- a/dataparser/data_parser/__init__.py +++ b/dataparser/data_parser/__init__.py @@ -0,0 +1 @@ +from .data_parser import DataParser, strip_and_lower diff --git a/dataparser/data_parser/data_parser.py b/dataparser/data_parser/data_parser.py index 60fbbd2..57c345d 100644 --- a/dataparser/data_parser/data_parser.py +++ b/dataparser/data_parser/data_parser.py @@ -1,24 +1,28 @@ +import logging +import sys +import xml.etree.ElementTree as ET +from os import path +from tempfile import mkdtemp + +from robot.errors import DataError from robot import parsing +from robot.libdocpkg.robotbuilder import LibraryDocBuilder +from robot.libraries import STDLIBS +from robot.output import LOGGER as ROBOT_LOGGER from robot.variables.filesetter import VariableFileSetter from robot.variables.store import VariableStore from robot.variables.variables import Variables -from robot.libdocpkg.robotbuilder import LibraryDocBuilder from robot.utils.importer import Importer -from robot.libraries import STDLIBS -from robot.output import LOGGER as ROBOT_LOGGER -from robot.errors import DataError -from os import path -import xml.etree.ElementTree as ET -from tempfile import mkdtemp -import logging -import inspect -from parser_utils.util import normalise_path -from db_json_settings import DBJsonSetting + +from dataparser import DBJsonSetting +from dataparser.parser_utils.util import normalise_path logging.basicConfig( format='%(levelname)s:%(asctime)s: %(message)s', level=logging.DEBUG) +PY2 = sys.version_info[0] < 3 + def strip_and_lower(text): return text.lower().replace(' ', '_') @@ -46,7 +50,9 @@ def parse_resource(self, file_path): model = parsing.TestDataDirectory(source=folder).populate() else: model = parsing.ResourceFile(file_path).populate() - return self._parse_robot_data(file_path, model) + data = self._parse_robot_data(file_path, model) + data[DBJsonSetting.table_type] = DBJsonSetting.resource_file + return data else: logging.error('File %s could not be found', file_path) raise ValueError( @@ -56,7 +62,9 @@ def parse_suite(self, file_path): self.file_path = file_path if path.exists(file_path): model = parsing.TestCaseFile(source=file_path).populate() - return self._parse_robot_data(file_path, model) + data = self._parse_robot_data(file_path, model) + data[DBJsonSetting.table_type] = DBJsonSetting.suite + return data else: logging.error('File %s could not be found', file_path) raise ValueError( @@ -78,6 +86,7 @@ def parse_variable_file(self, file_path, args=None): for variable in variables: var_list.append(variable[0]) data[DBJsonSetting.variables] = sorted(var_list) + data[DBJsonSetting.table_type] = DBJsonSetting.variable_file return data def parse_library(self, library, args=None): @@ -116,6 +125,7 @@ def parse_library(self, library, args=None): if data[DBJsonSetting.keywords] is None: raise ValueError('Library did not contain keywords') else: + data[DBJsonSetting.table_type] = DBJsonSetting.library return data def register_console_logger(self): @@ -133,15 +143,17 @@ def _parse_python_lib(self, library, args): try: lib = self.libdoc.build(lib_with_args) except DataError: - raise ValueError( - 'Library does not exist: {0}'.format(library)) + raise ValueError('Library does not exist: "{0}"' + .format(library)) if library in STDLIBS: import_name = 'robot.libraries.' + library else: import_name = library importer = Importer('test library') + lib_args = self._argument_strip(lib, args) libcode = importer.import_class_or_module( - import_name, return_source=False) + import_name, instantiate_with_args=lib_args, + return_source=False) kw_with_deco = self._get_keywords_with_robot_name(libcode) for keyword in lib.keywords: kw = {} @@ -158,54 +170,54 @@ def _parse_python_lib(self, library, args): kws[strip_and_lower(keyword.name)] = kw return kws - def _get_keywords_with_robot_name(self, libcode): + def _argument_strip(self, lib, given_args): + formated_args = [] + if not given_args: + return formated_args + try: + default_args = lib.inits[0].args + except IndexError: + default_args = [] + for default_arg in default_args: + if '=' in default_arg: + default_parts = default_arg.split('=', 1) + formated_args.append(default_parts[1]) + else: + formated_args.append(default_arg) + return formated_args + + def _get_keywords_with_robot_name(self, lib_instance): """Returns keywords which uses Robot keyword decorator with robot_name - The keyword name can be chaned with Robot Framework keyword decorator - and by using the robot_name attribute. Return dictinionary which key is - the value of the robot_name attribute and the orinal function name. + The keyword name can be changed with Robot Framework keyword decorator + and by using the robot_name attribute. Return dictionary which key is + the value of the robot_name attribute and the original function name. """ kw_deco = {} - for key in libcode.__dict__: - if callable(libcode.__dict__[key]): - try: - if 'robot_name' in libcode.__dict__[key].__dict__: - kw = libcode.__dict__[key].__dict__['robot_name'] - kw_deco[kw] = key - except AttributeError: - pass + lib_class = type(lib_instance) + for name in dir(lib_instance): + owner = lib_class if hasattr(lib_class, name) else lib_instance + method_arrib = getattr(owner, name) + if hasattr(method_arrib, 'robot_name') and method_arrib.robot_name: + kw_deco[method_arrib.robot_name] = name return kw_deco def _get_library_kw_source(self, libcode, keyword): - kw_func = keyword.lower().replace(' ', '_') - func = None - func_file = None + kw_func = self._format_keyword_to_method(keyword) if hasattr(libcode, kw_func): func = getattr(libcode, kw_func) + else: + func_file, func = None, None if func: - kw_class = self.get_class_that_defined_method(func) - if kw_class: - func_file = self.get_function_file(kw_class) + if PY2: + return func.func_code.co_filename else: - func_file = self.get_function_file(func) + return func.__code__.co_filename return func_file - def get_class_that_defined_method(self, meth): - try: - class_mro = inspect.getmro(meth.im_class) - except AttributeError: - return None - for cls in class_mro: - if meth.__name__ in cls.__dict__: - return cls - return None - - def get_function_file(self, kw_class): - file_ = inspect.getsourcefile(kw_class) - if file_ and path.exists(file_): - return normalise_path(file_) - else: - return None + def _format_keyword_to_method(self, keyword): + snake_case = keyword.lower().replace(' ', '_') + return snake_case def _lib_arg_formatter(self, library, args): args = self._argument_path_formatter(library, args) diff --git a/setting/db_json_settings.py b/dataparser/db_json_settings.py similarity index 91% rename from setting/db_json_settings.py rename to dataparser/db_json_settings.py index 3d5f1d5..0e5af8d 100644 --- a/setting/db_json_settings.py +++ b/dataparser/db_json_settings.py @@ -21,6 +21,7 @@ class DBJsonSetting(object): library_path = 'library_path' resources = 'resources' tags = 'tags' + table_type = 'table_type' variable = 'variable' variable_files = 'variable_files' variables = 'variables' @@ -31,3 +32,5 @@ class DBJsonSetting(object): # Import setting types variable_file = 'variable_file' resource_file = 'resource_file' + + suite = 'suite' diff --git a/dataparser/index/__init__.py b/dataparser/index/__init__.py index e69de29..bdc7dad 100644 --- a/dataparser/index/__init__.py +++ b/dataparser/index/__init__.py @@ -0,0 +1 @@ +from .index import Index, index_a_table diff --git a/dataparser/index/index.py b/dataparser/index/index.py index b90cc4f..84251d5 100644 --- a/dataparser/index/index.py +++ b/dataparser/index/index.py @@ -6,12 +6,13 @@ from json import load as json_load from json import dump as json_dump from collections import namedtuple -from parser_utils.file_formatter import rf_table_name, lib_table_name -from parser_utils.util import get_index_name -from queue.queue import ParsingQueue -from data_parser.data_parser import DataParser -from db_json_settings import DBJsonSetting -from queue.finder import finder + +from dataparser import DBJsonSetting +from dataparser.parser_utils.file_formatter import rf_table_name, lib_table_name +from dataparser.parser_utils.util import get_index_name +from dataparser.queue.queue import ParsingQueue +from dataparser.data_parser.data_parser import DataParser +from dataparser.queue.finder import finder logging.basicConfig( format='%(levelname)s:%(asctime)s: %(message)s', @@ -175,7 +176,7 @@ def get_imports(self, data): result += self.get_library_imports(data) if DBJsonSetting.variable_files in data: for var in data[DBJsonSetting.variable_files]: - result.append(rf_table_name(var.keys()[0])) + result.append(rf_table_name(list(var)[0])) if DBJsonSetting.resources in data: for resource in data[DBJsonSetting.resources]: result.append(rf_table_name(resource)) @@ -220,11 +221,11 @@ def get_keywords(self, data): kw_list = [] arg_list = [] if DBJsonSetting.keywords in data: - kws = data[DBJsonSetting.keywords] - for kw in kws.iterkeys(): - kw_list.append(kws[kw][DBJsonSetting.keyword_name]) + keywords = data[DBJsonSetting.keywords] + for keyword in keywords: + kw_list.append(keywords[keyword][DBJsonSetting.keyword_name]) kw_args = self.get_kw_arguments( - kws[kw][DBJsonSetting.keyword_arguments]) + keywords[keyword][DBJsonSetting.keyword_arguments]) arg_list.append(kw_args) return kw_list, arg_list diff --git a/dataparser/parser_utils/__init__.py b/dataparser/parser_utils/__init__.py index e69de29..20ac915 100644 --- a/dataparser/parser_utils/__init__.py +++ b/dataparser/parser_utils/__init__.py @@ -0,0 +1,2 @@ +from .file_formatter import rf_table_name, lib_table_name +from .util import normalise_path, get_index_name \ No newline at end of file diff --git a/dataparser/parser_utils/file_formatter.py b/dataparser/parser_utils/file_formatter.py index 0a4c745..40add05 100644 --- a/dataparser/parser_utils/file_formatter.py +++ b/dataparser/parser_utils/file_formatter.py @@ -1,6 +1,9 @@ +import sys from hashlib import md5 from os import path +PY2 = sys.version_info[0] < 3 + def rf_table_name(f_path): md5sum = md5(f_path.encode('utf-8')).hexdigest() @@ -11,7 +14,14 @@ def rf_table_name(f_path): def lib_table_name(library): + if PY2: + real_name = library[-100:].decode('ascii') + else: + real_name = library[-100:] + if PY2: + md5_hex = md5(library).hexdigest() + else: + md5_hex = md5(library.encode('utf-16')).hexdigest() return '{realname}-{md5}.json'.format( - realname=library[-100:].decode('ascii'), - md5=md5(library).hexdigest() - ) + realname=real_name, md5=md5_hex) + diff --git a/dataparser/queue/__init__.py b/dataparser/queue/__init__.py index e69de29..8328e5d 100644 --- a/dataparser/queue/__init__.py +++ b/dataparser/queue/__init__.py @@ -0,0 +1,3 @@ +from .finder import finder +from .queue import ParsingQueue +from .scanner import Scanner diff --git a/dataparser/queue/queue.py b/dataparser/queue/queue.py index c36d74b..d8f4e3f 100644 --- a/dataparser/queue/queue.py +++ b/dataparser/queue/queue.py @@ -1,6 +1,7 @@ from collections import OrderedDict from copy import deepcopy -from db_json_settings import DBJsonSetting + +from dataparser import DBJsonSetting class ParsingQueue(object): diff --git a/dataparser/queue/scanner.py b/dataparser/queue/scanner.py index 382bc3a..0ac32f8 100644 --- a/dataparser/queue/scanner.py +++ b/dataparser/queue/scanner.py @@ -1,15 +1,17 @@ -import shutil -import logging import json +import logging import os +import shutil import xml.etree.ElementTree as ET + from robot.errors import DataError -from finder import finder -from data_parser.data_parser import DataParser -from queue import ParsingQueue -from parser_utils.file_formatter import rf_table_name, lib_table_name -from parser_utils.util import normalise_path -from db_json_settings import DBJsonSetting + +from .finder import finder +from .queue import ParsingQueue +from dataparser.data_parser import DataParser +from dataparser import DBJsonSetting +from dataparser.parser_utils import (rf_table_name, lib_table_name, + normalise_path) logging.basicConfig( format='%(levelname)s:%(asctime)s: %(message)s', @@ -40,11 +42,9 @@ def scan(self, workspace, ext, db_path): if not os.path.dirname(workspace): raise EnvironmentError( 'Workspace must be folder: {0}'.format(str(workspace))) - if not os.path.exists(db_path): - os.makedirs(db_path) - else: + if os.path.exists(db_path): shutil.rmtree(db_path) - os.makedirs(db_path) + os.makedirs(db_path) self.add_builtin() if self.xml_libraries: self.add_xml_libraries(self.xml_libraries) @@ -141,17 +141,15 @@ def add_libraries_queue(self, libs): self.queue.add( lib_module, DBJsonSetting.library, - lib[DBJsonSetting.library_arguments] - ) + lib[DBJsonSetting.library_arguments]) def add_var_files_queue(self, var_files): for var_file in var_files: - file_name = var_file.keys()[0] + file_name = list(var_file)[0] self.queue.add( file_name, 'variable_file', - var_file[file_name]['variable_file_arguments'] - ) + var_file[file_name]['variable_file_arguments']) def add_resources_queue(self, resources): for resource in resources: diff --git a/dataparser/run_index.py b/dataparser/run_index.py index a87b9fe..50cd9e1 100644 --- a/dataparser/run_index.py +++ b/dataparser/run_index.py @@ -5,8 +5,8 @@ from os import path, listdir, makedirs ROOT_DIR = path.dirname(path.abspath(__file__)) -SETTING_DIR = path.join(ROOT_DIR, '..', 'setting') -sys.path.append(SETTING_DIR) +RFA_DATAPARSER = path.join(ROOT_DIR, '..') +sys.path.append(RFA_DATAPARSER) from index.index import index_a_table from index.index import Index diff --git a/dataparser/run_scanner.py b/dataparser/run_scanner.py index dd9b70a..7043ae8 100644 --- a/dataparser/run_scanner.py +++ b/dataparser/run_scanner.py @@ -3,8 +3,8 @@ from os import path ROOT_DIR = path.dirname(path.abspath(__file__)) -SETTING_DIR = path.join(ROOT_DIR, '..', 'setting') -sys.path.append(SETTING_DIR) +RFA_DATAPARSER = path.abspath(path.join(ROOT_DIR, '..')) +sys.path.append(RFA_DATAPARSER) from queue.scanner import Scanner @@ -14,11 +14,9 @@ def scan_all(workspace, extension, db_path, for path_ in module_search_path: sys.path.append(path_) scanner = Scanner(libs_in_xml) - scanner.scan( - workspace=workspace, - ext=extension, - db_path=db_path - ) + scanner.scan(workspace=workspace, + ext=extension, + db_path=db_path) def scan_single(file_path, db_path, libs_in_xml): diff --git a/setting/__init__.py b/setting/__init__.py index e69de29..c15c0d0 100644 --- a/setting/__init__.py +++ b/setting/__init__.py @@ -0,0 +1 @@ +from .setting import get_log_file, get_setting, SettingObject diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/acceptance/library_parser.robot b/test/acceptance/library_parser.robot index 7ecb74f..3b3c3a9 100644 --- a/test/acceptance/library_parser.robot +++ b/test/acceptance/library_parser.robot @@ -15,11 +15,11 @@ Parser Should Be Able To Parse Internal Library Parser Should Be Able To Parse External Library From Python Path ${result} = Parse Library - ... Selenium2Library + ... SeleniumLibrary ${result_keys} = Get Dictionary Keys ${result} Lists Should Be Equal ... ${result_keys} - ... ${SELENIUM2LIBRARY_KEYS_LIST} + ... ${SELENIUMLIBRARY_KEYS_LIST} ${keywords} = Get From Dictionary ... ${result} ... keywords @@ -34,8 +34,9 @@ Parser Should Be Able To Parse External Library From Python Path ... ${ADDCOOKIE_KEYS_LILST} Parser Should Be Able To Parse External Library From Module - ${result} = Parse Library + ${lib_path} = OperatingSystem.Normalize Path ... ${CURDIR}${/}..${/}resource${/}test_data${/}suite_tree${/}LibNoClass.py + ${result} = Parse Library ${lib_path} Dictionaries Should Be Equal ... ${result} ... ${LIB_FROM_MODULE} @@ -52,16 +53,19 @@ Parser Should Be Able To Parse Library With Robot API Keyword Decorator ... ${lib_path} Parser Should Be Able To Parse External Library From Custom Location - ${result} = Parse Library + ${lib_path} = OperatingSystem.Normalize Path ... ${CURDIR}${/}..${/}resource${/}library${/}MyLibrary.py + ${result} = Parse Library ${lib_path} Dictionaries Should Be Equal ... ${result} ... ${MYLIBRARY_KW} Parser Should Be Able To Parse External Library With Arguments From Custom Location @{args} = Create List arg111 arg222 - ${result} = Parse Library + ${lib_path} = OperatingSystem.Normalize Path ... ${CURDIR}${/}..${/}resource${/}library${/}OtherMyLibrary.py + ${result} = Parse Library + ... ${lib_path} ... ${args} Dictionaries Should Be Equal ... ${result} @@ -75,10 +79,12 @@ Parser Should Be Able To Parse External Library From XML File ... ${MYLIBRARY_XML} Parser Should Be Not Able To Parse Resource File From XML File + ${lib_path} = OperatingSystem.Normalize Path + ... ${CURDIR}${/}..${/}resource${/}library${/}simple_resource.xml Run Keyword And Expect Error ... ValueError: XML file is not library: simple_resource ... Parse Library - ... ${CURDIR}${/}..${/}resource${/}library${/}simple_resource.xml + ... ${lib_path} *** Keywords *** Simple Library Results Verifier diff --git a/test/acceptance/variable_files/library_vars.py b/test/acceptance/variable_files/library_vars.py index 3c22e50..af949c6 100644 --- a/test/acceptance/variable_files/library_vars.py +++ b/test/acceptance/variable_files/library_vars.py @@ -13,9 +13,10 @@ def get_variables(): var['MYLIBRARY_KW'] = get_mylibrary(resource_dir) var['OTHERMYLIBRARY_KW'] = get_othermylibrary(resource_dir) var['MYLIBRARY_XML'] = get_mylibrary_xml(var['MYLIBRARY_KW']) - var['SELENIUM2LIBRARY_KEYS_LIST'] = ['arguments', - 'keywords', - 'library_module'] + var['SELENIUMLIBRARY_KEYS_LIST'] = ['arguments', + 'keywords', + 'library_module', + 'table_type'] var['ADDCOOKIE_KEYS_LILST'] = ['keyword_name', 'keyword_arguments', 'documentation', @@ -29,6 +30,7 @@ def get_lib_from_module(resource_dir): data = {} module = 'LibNoClass' data['arguments'] = [] + data['table_type'] = 'library' data['library_module'] = module f_path = path.normcase( path.normpath( @@ -64,6 +66,7 @@ def get_mylibrary(resource_dir): data = {} data['arguments'] = [] data['library_module'] = module + data['table_type'] = 'library' f_path = path.normcase( path.normpath(path.join(resource_dir, '..', 'library'))) data['file_path'] = path.join(f_path, '{0}{1}'.format(module, '.py')) @@ -123,6 +126,7 @@ def get_mylibrary_xml(data): def get_screenshot(): source_file = inspect.getsourcefile(robot.libraries.Screenshot) data = {} + data['table_type'] = 'library' data['library_module'] = 'Screenshot' data['keywords'] = screenshot_keywords(source_file) data['arguments'] = [] diff --git a/test/acceptance/variable_files/suite_parser_vars.py b/test/acceptance/variable_files/suite_parser_vars.py index 0b6820f..75ba387 100644 --- a/test/acceptance/variable_files/suite_parser_vars.py +++ b/test/acceptance/variable_files/suite_parser_vars.py @@ -14,6 +14,7 @@ def get_variables(): def create_simple_var(resource_dir): result = {} + result['table_type'] = 'variable_file' result['file_name'] = 'simple_variable_file.py' result['file_path'] = path.join(resource_dir, result['file_name']) result['variables'] = ['${VARIABLE_FILE_1}', '${VARIABLE_FILE_2}'] @@ -22,6 +23,7 @@ def create_simple_var(resource_dir): def create_other_simple_var(resource_dir): result = {} + result['table_type'] = 'variable_file' result['file_name'] = 'other_simple_variable_file.py' result['file_path'] = path.join(resource_dir, result['file_name']) result['variables'] = ['${VARIABLE_FILE_1}', '${VARIABLE_FILE_2}'] @@ -31,9 +33,10 @@ def create_other_simple_var(resource_dir): def create_simple_test(resource_dir): result = {} result['file_name'] = 'simple_test.robot' + result['table_type'] = 'suite' result['file_path'] = path.join(resource_dir, result['file_name']) result['libraries'] = [ - {'library_name': 'Selenium2Library', + {'library_name': 'SeleniumLibrary', 'library_alias': None, 'library_arguments': ['timeout=5.0', 'implicit_wait=0.0'], 'library_path': None} @@ -54,10 +57,11 @@ def create_simple_test(resource_dir): def create_simple_resource(resource_dir): result = {} result['file_name'] = 'simple_resource.robot' + result['table_type'] = 'resource_file' result['file_path'] = path.join(resource_dir, result['file_name']) lib_path = path.abspath(path.join(resource_dir, '..', 'FooBar.py')) result['libraries'] = [ - {'library_name': 'Selenium2Library', + {'library_name': 'SeleniumLibrary', 'library_alias': None, 'library_arguments': ['timeout=5.0'], 'library_path': None}, diff --git a/test/env.py b/test/env.py index b3ad08f..519cd4f 100644 --- a/test/env.py +++ b/test/env.py @@ -2,14 +2,14 @@ import sys ROOT_DIR = path.dirname(path.abspath(__file__)) -UNIT_TEST_DIR = path.join(ROOT_DIR, "unit") -ACCEPTANCE_TEST_DIR = path.join(ROOT_DIR, "acceptance") -RESOURCES_DIR = path.join(ROOT_DIR, "resource") -TEST_DATA_DIR = path.join(RESOURCES_DIR, "test_data") -RESULTS_DIR = path.join(ROOT_DIR, "results") -SRC_DIR = path.normpath(path.join(ROOT_DIR, "..", 'dataparser')) -COMMAND_HELPER_DIR = path.normpath(path.join(ROOT_DIR, "..", 'command_helper')) -SETTING_DIR = path.normpath(path.join(ROOT_DIR, "..", 'setting')) +UNIT_TEST_DIR = path.join(ROOT_DIR, 'unit') +ACCEPTANCE_TEST_DIR = path.join(ROOT_DIR, 'acceptance') +RESOURCES_DIR = path.join(ROOT_DIR, 'resource') +TEST_DATA_DIR = path.join(RESOURCES_DIR, 'test_data') +RESULTS_DIR = path.join(ROOT_DIR, 'results') +SRC_DIR = path.normpath(path.join(ROOT_DIR, '..', '..')) +COMMAND_HELPER_DIR = path.normpath(path.join(ROOT_DIR, '..', 'command_helper')) +SETTING_DIR = path.normpath(path.join(ROOT_DIR, '..', 'setting')) sys.path.insert(0, SRC_DIR) sys.path.append(UNIT_TEST_DIR) diff --git a/test/resource/index-test_a.robot-874795cab732d103f0b26c5926b17843.json b/test/resource/index-test_a.robot-874795cab732d103f0b26c5926b17843.json new file mode 100644 index 0000000..6e8a0e5 --- /dev/null +++ b/test/resource/index-test_a.robot-874795cab732d103f0b26c5926b17843.json @@ -0,0 +1,359 @@ +{ + "keywords": [ + ["Run Keyword And Expect Error", ["expected_error", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Ignore Error", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Octal", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["No Operation", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Sleep", ["time_", "reason"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Import Resource", ["path"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Match", ["string", "pattern", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Catenate", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Return", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Hex", ["item", "base", "prefix", "length", "lowercase"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Bytes", ["input", "input_type"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Remove Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Match", ["string", "pattern", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Evaluate", ["expression", "modules", "namespace"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Any Critical Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Any Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Pass Execution If", ["condition", "message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Return From Keyword If", ["condition", "*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Call Method", ["object", "method_name", "*args", "**kwargs"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not End With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If All Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Variable Should Not Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Binary", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Variable If", ["condition", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Suite Metadata", ["name", "value", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Start With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Suite Documentation", ["doc", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword Unless", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Fail", ["msg", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Library Search Order", ["*search_order"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Import Library", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Library Instance", ["name", "all"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal As Strings", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Test Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Count", ["item1", "item2"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Variable Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Timeout Occurred", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Length", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Exit For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Exit For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Contain Any", ["container", "*items", "**configuration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Return Status", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Continue On Failure", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Create Dictionary", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should End With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Comment", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Variables", ["no_decoration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Variable Value", ["name", "default"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To String", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Keyword Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Pass Execution", ["message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Contain", ["container", "item", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log", ["message", "level", "html", "console", "repr"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Contain Any", ["container", "*items", "**configuration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Boolean", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Global Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log Variables", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Length Should Be", ["item", "length", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Return From Keyword", ["*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Number", ["item", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Integer", ["item", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Regexp Escape", ["*patterns"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Time", ["format", "time_"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Replace Variables", ["text"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log To Console", ["message", "stream", "no_newline"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Continue For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Test Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If All Critical Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Import Variables", ["path", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Variable", ["*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal As Strings", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Return If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Suite Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Log Level", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keywords", ["*keywords"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Test Documentation", ["doc", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Test Message", ["message", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Contain X Times", ["item1", "item2", "count", "msg", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Wait Until Keyword Succeeds", ["retry", "retry_interval", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Repeat Keyword", ["repeat", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Create List", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Reload Library", ["name_or_instance"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Contain", ["container", "item", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Fatal Error", ["msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log Many", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Start With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Continue For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Test Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Test A Keyword", [], "test_a", "test_a.robot-874795cab732d103f0b26c5926b17843.json", null], + ["Keyword", [], "test_a", "test_a.robot-874795cab732d103f0b26c5926b17843.json", null], + ["Common Keyword 2", [], "common", "common.robot-7c93ead02f1e3d24059b919c1f504579.json", null], + ["Common Keyword 1", [], "common", "common.robot-7c93ead02f1e3d24059b919c1f504579.json", null], + ["Really Long Keyword To Test With Jumping To Keyword Does Not Scroll The Visible Area To A Wrong Place Should There Be More Words", [], "common", "common.robot-7c93ead02f1e3d24059b919c1f504579.json", null], + ["Other Name Here", ["arg"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Other ${arg1} and ${arg2} Too", [], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Other Long Name Keyword", ["*args", "**kwargs"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Long Name Keyword", ["*args"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Set Window Position", ["x", "y"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Disabled", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Press Key", ["locator", "key"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Frame Should Contain", ["locator", "text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Text", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Element At Coordinates", ["locator", "xoffset", "yoffset"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List By Label", ["locator", "*labels"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Location", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Focus", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Element Attribute", ["locator", "attribute"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Column Should Contain", ["locator", "column", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textarea Value Should Be", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Dismiss Alert", ["accept"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Element", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Horizontal Position", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Not Contain", ["locator", "expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Contains", ["text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect All From List", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Text", ["locator", "text"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Radio Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Go To", ["url"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Row Should Contain", ["locator", "row", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Down On Image", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Is Not Visible", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Cell Should Contain", ["locator", "row", "column", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Password", ["locator", "password"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Title Should Be", ["title", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Capture Page Screenshot", ["filename"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Assign Id To Element", ["locator", "id"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Selenium Implicit Wait", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Checkbox", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Create Webdriver", ["driver_name", "alias", "kwargs", "**init_kwargs"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Selenium Timeout", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Matching Xpath Count", ["xpath", "return_str"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Cookie", ["name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect Checkbox", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Button", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Image", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Text Should Be", ["locator", "expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Does Not Contain Element", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Alert Message", ["dismiss"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Names", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List", ["locator", "*options"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Element Count", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Down On Link", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get WebElements", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Log Location", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Window", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Image", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Current Frame Should Not Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get WebElement", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Add Cookie", ["name", "value", "path", "domain", "secure", "expiry"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Down", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Identifiers", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List By Value", ["locator", "*values"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Add Location Strategy", ["strategy_name", "strategy_keyword", "persist"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List By Index", ["locator", "*indexes"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Link", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Selenium Speed", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textfield Value Should Be", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Should Contain", ["locator", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Current Frame Contains", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Is Visible", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Switch Browser", ["index_or_alias"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Text Should Not Be", ["locator", "not_expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Remove Location Strategy", ["strategy_name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Confirm Action", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Element", ["locator", "message", "loglevel", "limit"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Is Enabled", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Close Browser", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Titles", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["List Should Have No Selections", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Over", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Checkbox Should Be Selected", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List By Index", ["locator", "*indexes"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Simulate Event", ["locator", "event"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["List Windows", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Choose Ok On Next Confirmation", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Link", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selenium Timeout", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Does Not Contain", ["text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Cookies", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Value", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Element Size", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Image", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Textfield", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textfield Should Contain", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Label", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Values", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Handle Alert", ["action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Position", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Choose Cancel On Next Confirmation", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Vertical Position", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Does Not Contain", ["locator", "text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Close Window", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Log Title", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Contain", ["locator", "expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Delete All Cookies", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Delete Cookie", ["name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Submit Form", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Choose File", ["locator", "file_path"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Contains Element", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Xpath Should Match X Times", ["xpath", "x", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Current Frame Should Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Frame", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Source", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Radio Button Should Not Be Selected", ["group_name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get List Items", ["locator", "values"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selenium Speed", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain List", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Register Keyword To Run On Failure", ["keyword"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["List Selection Should Be", ["locator", "*expected"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Simulate", ["locator", "event"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Locator Should Match X Times", ["locator", "x", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Out", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Handles", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select All From List", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Footer Should Contain", ["locator", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Radio Button", ["group_name", "value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Focused", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Link", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Window Size", ["width", "height"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Labels", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Checkbox", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Location Should Contain", ["expected"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List", ["locator", "*items"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Size", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List By Value", ["locator", "*values"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Header Should Contain", ["locator", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Alert Should Be Present", ["text", "action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Text Into Alert", ["text", "action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Radio Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Locations", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Clear Element Text", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Title", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Element", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Screenshot Directory", ["path", "persist"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Text Into Prompt", ["text"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Visible", ["locator", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Drag And Drop", ["locator", "target"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Textfield", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Up", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Enabled", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Execute Async Javascript", ["*code"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Value", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Reload Page", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selenium Implicit Wait", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Drag And Drop By Offset", ["locator", "xoffset", "yoffset"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Table Cell", ["locator", "row", "column", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Radio Button Should Be Set To", ["group_name", "value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Browser Implicit Wait", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textarea Should Contain", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Contains", ["locator", "text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get All Links", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Execute Javascript", ["*code"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Open Context Menu", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Checkbox", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Open Browser", ["url", "browser", "alias", "remote_url", "desired_capabilities", "ff_profile_dir"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait For Condition", ["condition", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Checkbox Should Not Be Selected", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Double Click Element", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List By Label", ["locator", "*labels"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Not Be Visible", ["locator", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Maximize Browser Window", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Log Source", ["loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Alert Should Not Be Present", ["action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Close All Browsers", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Go Back", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Location Should Be", ["url"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Focus To Element", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Cookie Value", ["name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain List", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect Frame", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Resource A Keyword 1", ["kwa1"], "resource_a", "resource_a.robot-6591aac3be2e2cf0ffb86f10fbce89d5.json", null], + ["Resource A Keyword 2", [], "resource_a", "resource_a.robot-6591aac3be2e2cf0ffb86f10fbce89d5.json", null], + ["Library Keyword 1", ["arg1"], "LibNoClass", "LibNoClass-28650c0304c5e0e477940517be2f83fc.json", null], + ["Library Keyword 2", ["arg1", "arg2"], "LibNoClass", "LibNoClass-28650c0304c5e0e477940517be2f83fc.json", null], + ["Move Directory", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Count Items In Directory", ["path", "pattern"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Append To File", ["path", "content", "encoding"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Run And Return Rc And Output", ["command"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Set Environment Variable", ["name", "value"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Create Binary File", ["path", "content"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Wait Until Removed", ["path", "timeout"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Get Environment Variable", ["name", "default"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Environment Variable Should Be Set", ["name", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Get Modified Time", ["path", "format"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Touch", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Grep File", ["path", "pattern", "encoding", "encoding_errors"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Should Not Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Directory Should Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["File Should Not Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Directory Should Not Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Directory Should Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Count Directories In Directory", ["path", "pattern"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["File Should Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Create File", ["path", "content", "encoding"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["List Files In Directory", ["path", "pattern", "absolute"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Copy Files", ["*sources_and_destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Set Modified Time", ["path", "mtime"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Get Environment Variables", [], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Append To Environment Variable", ["name", "*values", "**config"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Run", ["command"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["File Should Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Copy File", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Count Files In Directory", ["path", "pattern"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Join Paths", ["base", "*paths"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Get Binary File", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Get File Size", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Move File", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Copy Directory", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["List Directories In Directory", ["path", "pattern", "absolute"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Environment Variable Should Not Be Set", ["name", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Directory Should Not Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Split Path", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Should Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["List Directory", ["path", "pattern", "absolute"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Normalize Path", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Split Extension", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Remove Environment Variable", ["*names"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Remove Files", ["*paths"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["File Should Not Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Run And Return Rc", ["command"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Join Path", ["base", "*parts"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Create Directory", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Log Environment Variables", ["level"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Move Files", ["*sources_and_destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Remove Directory", ["path", "recursive"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Wait Until Created", ["path", "timeout"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Remove File", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Log File", ["path", "encoding", "encoding_errors"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Empty Directory", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["Get File", ["path", "encoding", "encoding_errors"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], + ["My Long Keyword", ["arg1", "arg2"], "com.company.library.DoLibrary", "com.company.library.DoLibrary-NotValid.json", null], + ["My Other Keyword", ["arg1", "arg2", "arg3"], "com.company.library.DoLibrary", "com.company.library.DoLibrary-NotValid.json", null], + ["My Long Keyword", ["arg1", "arg2"], "com.company.library.OtherLibrary", "com.company.library.OtherLibrary-NotValid.json", null], + ["My Long Keyword", ["arg1", "arg2"], "com.company.library.special.long.OtherLibrary", "com.company.library.special.long.OtherLibrary-NotValid.json", null] + ], + "variables": ["${/}", "${:}", "${\\n}", "${CURDIR}", "${DEBUG_FILE}", "${EMPTY}", "@{EMPTY}", "&{EMPTY}", "${EXECDIR}", "${False}", "${LOG_FILE}", "${LOG_LEVEL}", "${None}", "${null}", "${OUTPUT_DIR}", "${OUTPUT_FILE}", "${PREV_TEST_MESSAGE}", "${PREV_TEST_NAME}", "${PREV_TEST_STATUS}", "${REPORT_FILE}", "${SPACE}", "${SUITE_DOCUMENTATION}", "${SUITE_NAME}", "${SUITE_SOURCE}", "${TEMPDIR}", "${TEST_DOCUMENTATION}", "${TEST_NAME}", "${True}", "&{SUITE_METADATA}", "@{TEST_TAGS}", "${TEST_A}", "${COMMON_VARIABLE_1}", "${COMMON_VARIABLE_2}", "${RESOURCE_A}"] + +} \ No newline at end of file diff --git a/test/resource/index-test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json b/test/resource/index-test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json deleted file mode 100644 index 7c197ff..0000000 --- a/test/resource/index-test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json +++ /dev/null @@ -1,343 +0,0 @@ -{ - "keywords": [ - ["Run Keyword And Expect Error", ["expected_error", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Ignore Error", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["No Operation", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Sleep", ["time_", "reason"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Import Resource", ["path"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Match", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Catenate", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Return", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Hex", ["item", "base", "prefix", "length", "lowercase"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Bytes", ["input", "input_type"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Remove Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Match", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Evaluate", ["expression", "modules", "namespace"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Any Critical Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Any Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Pass Execution If", ["condition", "message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Return From Keyword If", ["condition", "*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Call Method", ["object", "method_name", "*args", "**kwargs"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not End With", ["str1", "str2", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If All Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Variable Should Not Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Binary", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Variable If", ["condition", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Suite Metadata", ["name", "value", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Start With", ["str1", "str2", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Suite Documentation", ["doc", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword Unless", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Fail", ["msg", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Import Library", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Library Instance", ["name", "all"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal As Strings", ["first", "second", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Test Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Count", ["item1", "item2"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Variable Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Timeout Occurred", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Length", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Exit For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Exit For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Return Status", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Continue On Failure", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Create Dictionary", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should End With", ["str1", "str2", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Comment", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Variables", ["no_decoration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Variable Value", ["name", "default"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Keyword Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Pass Execution", ["message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Contain", ["container", "item", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log", ["message", "level", "html", "console", "repr"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Octal", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Boolean", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Global Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal", ["first", "second", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log Variables", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal As Strings", ["first", "second", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal", ["first", "second", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Return From Keyword", ["*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Number", ["item", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Integer", ["item", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Regexp Escape", ["*patterns"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Time", ["format", "time_"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Replace Variables", ["text"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log To Console", ["message", "stream", "no_newline"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Continue For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Test Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If All Critical Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Import Variables", ["path", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Variable", ["*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Length Should Be", ["item", "length", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Return If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Suite Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Log Level", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keywords", ["*keywords"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Test Documentation", ["doc", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Test Message", ["message", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Contain X Times", ["item1", "item2", "count", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Wait Until Keyword Succeeds", ["retry", "retry_interval", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Repeat Keyword", ["repeat", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Create List", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Reload Library", ["name_or_instance"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To String", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Contain", ["container", "item", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Fatal Error", ["msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log Many", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Start With", ["str1", "str2", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Continue For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Library Search Order", ["*search_order"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Test Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Test A Keyword", [], "test_a", "test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json", null], - ["Keyword", [], "test_a", "test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json", null], - ["Common Keyword 2", [], "common", "common.robot-0d7791e20935eb2de416b6f48c44ba6b.json", null], - ["Common Keyword 1", [], "common", "common.robot-0d7791e20935eb2de416b6f48c44ba6b.json", null], - ["Really Long Keyword To Test With Jumping To Keyword Does Not Scroll The Visible Area To A Wrong Place Should There Be More Words", [], "common", "common.robot-0d7791e20935eb2de416b6f48c44ba6b.json", null], - ["Other Name Here", ["arg"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], - ["Other ${arg1} and ${arg2} Too", [], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], - ["Other Long Name Keyword", ["*args", "**kwargs"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], - ["Long Name Keyword", ["*args"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], - ["Set Window Position", ["x", "y"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Should Be Disabled", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Press Key", ["locator", "key"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Frame Should Contain", ["locator", "text", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Text", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Click Element At Coordinates", ["locator", "xoffset", "yoffset"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Unselect From List By Label", ["locator", "*labels"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Location", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Focus", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Element Attribute", ["attribute_locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Table Column Should Contain", ["table_locator", "col", "expected", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Textarea Value Should Be", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Dismiss Alert", ["accept"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Element", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Horizontal Position", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Should Not Contain", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Page Contains", ["text", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Input Text", ["locator", "text"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Radio Button", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Go To", ["url"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Table Row Should Contain", ["table_locator", "row", "expected", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Mouse Down On Image", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Element Is Not Visible", ["locator", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Table Cell Should Contain", ["table_locator", "row", "column", "expected", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Input Password", ["locator", "text"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Title Should Be", ["title"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Capture Page Screenshot", ["filename"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Assign Id To Element", ["locator", "id"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Set Selenium Implicit Wait", ["seconds"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Checkbox", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Create Webdriver", ["driver_name", "alias", "kwargs", "**init_kwargs"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Set Selenium Timeout", ["seconds"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Matching Xpath Count", ["xpath"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Unselect Checkbox", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Click Button", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Image", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Text Should Be", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Page Does Not Contain Element", ["locator", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Alert Message", ["dismiss"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Window Names", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select From List", ["locator", "*items"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Button", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Mouse Down On Link", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Webelements", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Log Location", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select Window", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Click Image", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Current Frame Should Not Contain", ["text", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Webelement", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Add Cookie", ["name", "value", "path", "domain", "secure", "expiry"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Mouse Down", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Window Identifiers", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select From List By Value", ["locator", "*values"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Add Location Strategy", ["strategy_name", "strategy_keyword", "persist"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Unselect From List By Index", ["locator", "*indexes"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Link", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Set Selenium Speed", ["seconds"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Textfield Value Should Be", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Table Should Contain", ["table_locator", "expected", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Current Frame Contains", ["text", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Element Is Visible", ["locator", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Switch Browser", ["index_or_alias"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Remove Location Strategy", ["strategy_name"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Confirm Action", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Element", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Element Is Enabled", ["locator", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Close Browser", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Window Titles", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["List Should Have No Selections", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Mouse Over", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Checkbox Should Be Selected", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select From List By Index", ["locator", "*indexes"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["List Windows", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Choose Ok On Next Confirmation", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Link", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selenium Timeout", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Page Does Not Contain", ["text", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Cookies", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selected List Value", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Element Size", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Image", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Textfield", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Textfield Should Contain", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selected List Label", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selected List Values", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Window Position", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Choose Cancel On Next Confirmation", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Vertical Position", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Element Does Not Contain", ["locator", "text", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Log Title", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Should Contain", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Delete All Cookies", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Delete Cookie", ["name"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain", ["text", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Submit Form", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Choose File", ["locator", "file_path"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Page Contains Element", ["locator", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Xpath Should Match X Times", ["xpath", "expected_xpath_count", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Button", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select Frame", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Source", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Radio Button Should Not Be Selected", ["group_name"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get List Items", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selenium Speed", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain List", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Register Keyword To Run On Failure", ["keyword"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["List Selection Should Be", ["locator", "*items"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Simulate", ["locator", "event"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Locator Should Match X Times", ["locator", "expected_locator_count", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Mouse Out", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select All From List", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Table Footer Should Contain", ["table_locator", "expected", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select Radio Button", ["group_name", "value"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Click Link", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Set Window Size", ["width", "height"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selected List Labels", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Checkbox", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Location Should Contain", ["expected"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Unselect From List", ["locator", "*items"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Window Size", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Unselect From List By Value", ["locator", "*values"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Table Header Should Contain", ["table_locator", "expected", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Alert Should Be Present", ["text"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Close Window", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain Radio Button", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Clear Element Text", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Title", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Click Element", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Set Screenshot Directory", ["path", "persist"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Input Text Into Prompt", ["text"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Should Be Visible", ["locator", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Drag And Drop", ["source", "target"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain Textfield", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Mouse Up", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Should Be Enabled", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Execute Async Javascript", ["*code"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Value", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Reload Page", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Selenium Implicit Wait", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Drag And Drop By Offset", ["source", "xoffset", "yoffset"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Table Cell", ["table_locator", "row", "column", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Radio Button Should Be Set To", ["group_name", "value"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Set Browser Implicit Wait", ["seconds"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Textarea Should Contain", ["locator", "expected", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait Until Element Contains", ["locator", "text", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get All Links", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Execute Javascript", ["*code"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Open Context Menu", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select Checkbox", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Open Browser", ["url", "browser", "alias", "remote_url", "desired_capabilities", "ff_profile_dir"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Wait For Condition", ["condition", "timeout", "error"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Checkbox Should Not Be Selected", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Double Click Element", ["locator"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Select From List By Label", ["locator", "*labels"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Element Should Not Be Visible", ["locator", "message"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Maximize Browser Window", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Log Source", ["loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Close All Browsers", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Go Back", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Location Should Be", ["url"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Get Cookie Value", ["name"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Contain", ["text", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Page Should Not Contain List", ["locator", "message", "loglevel"], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Unselect Frame", [], "Selenium2Library", "Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json", null], - ["Resource A Keyword 1", ["kwa1"], "resource_a", "resource_a.robot-5d6a21e6c8f60dc02a48813dc5ef9d4a.json", null], - ["Resource A Keyword 2", [], "resource_a", "resource_a.robot-5d6a21e6c8f60dc02a48813dc5ef9d4a.json", null], - ["Library Keyword 1", ["arg1"], "LibNoClass", "LibNoClass-28650c0304c5e0e477940517be2f83fc.json", null], - ["Library Keyword 2", ["arg1", "arg2"], "LibNoClass", "LibNoClass-28650c0304c5e0e477940517be2f83fc.json", null], - ["Move Directory", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Count Items In Directory", ["path", "pattern"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Append To File", ["path", "content", "encoding"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Run And Return Rc And Output", ["command"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Set Environment Variable", ["name", "value"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Create Binary File", ["path", "content"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Wait Until Removed", ["path", "timeout"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Get Environment Variable", ["name", "default"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Environment Variable Should Be Set", ["name", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Get Modified Time", ["path", "format"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Touch", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Grep File", ["path", "pattern", "encoding", "encoding_errors"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Should Not Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Directory Should Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["File Should Not Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Directory Should Not Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Directory Should Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Count Directories In Directory", ["path", "pattern"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["File Should Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Create File", ["path", "content", "encoding"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["List Files In Directory", ["path", "pattern", "absolute"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Copy Files", ["*sources_and_destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Set Modified Time", ["path", "mtime"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Get Environment Variables", [], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Append To Environment Variable", ["name", "*values", "**config"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Run", ["command"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["File Should Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Copy File", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Count Files In Directory", ["path", "pattern"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Join Paths", ["base", "*paths"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Get Binary File", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Get File Size", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Move File", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Copy Directory", ["source", "destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["List Directories In Directory", ["path", "pattern", "absolute"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Environment Variable Should Not Be Set", ["name", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Directory Should Not Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Split Path", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Should Exist", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["List Directory", ["path", "pattern", "absolute"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Normalize Path", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Split Extension", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Remove Environment Variable", ["*names"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Remove Files", ["*paths"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["File Should Not Be Empty", ["path", "msg"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Run And Return Rc", ["command"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Join Path", ["base", "*parts"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Create Directory", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Log Environment Variables", ["level"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Move Files", ["*sources_and_destination"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Remove Directory", ["path", "recursive"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Wait Until Created", ["path", "timeout"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Remove File", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Log File", ["path", "encoding", "encoding_errors"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Empty Directory", ["path"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["Get File", ["path", "encoding", "encoding_errors"], "OperatingSystem", "OperatingSystem-3f475567566b93c16c76ae4f3daaca1a.json", null], - ["My Long Keyword", ["arg1", "arg2"], "com.company.library.DoLibrary", "com.company.library.DoLibrary-NotValid.json", null], - ["My Other Keyword", ["arg1", "arg2", "arg3"], "com.company.library.DoLibrary", "com.company.library.DoLibrary-NotValid.json", null], - ["My Long Keyword", ["arg1","arg2"], "com.company.library.OtherLibrary", "com.company.library.OtherLibrary-NotValid.json", null], - ["My Long Keyword", ["arg1","arg2"], "com.company.library.special.long.OtherLibrary", "com.company.library.special.long.OtherLibrary-NotValid.json", null] - ], - "variables": ["${/}", "${:}", "${\\n}", "${CURDIR}", "${DEBUG_FILE}", "${EMPTY}", "@{EMPTY}", "&{EMPTY}", "${EXECDIR}", "${False}", "${LOG_FILE}", "${LOG_LEVEL}", "${None}", "${null}", "${OUTPUT_DIR}", "${OUTPUT_FILE}", "${PREV_TEST_MESSAGE}", "${PREV_TEST_NAME}", "${PREV_TEST_STATUS}", "${REPORT_FILE}", "${SPACE}", "${SUITE_DOCUMENTATION}", "${SUITE_NAME}", "${SUITE_SOURCE}", "${TEMPDIR}", "${TEST_DOCUMENTATION}", "${TEST_NAME}", "${True}", "&{SUITE_METADATA}", "@{TEST_TAGS}", "${TEST_A}", "${COMMON_VARIABLE_1}", "${COMMON_VARIABLE_2}", "${RESOURCE_A}"] -} \ No newline at end of file diff --git a/test/resource/index-test_b.robot-28dc4d6e222a03bbc3db1fe62743ce94.json b/test/resource/index-test_b.robot-28dc4d6e222a03bbc3db1fe62743ce94.json deleted file mode 100644 index 34b37ec..0000000 --- a/test/resource/index-test_b.robot-28dc4d6e222a03bbc3db1fe62743ce94.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "keywords": [ - ["Run Keyword And Expect Error", ["expected_error", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Ignore Error", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["No Operation", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Sleep", ["time_", "reason"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Import Resource", ["path"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Match", ["string", "pattern", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Catenate", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Return", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Hex", ["item", "base", "prefix", "length", "lowercase"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Bytes", ["input", "input_type"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Remove Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Match", ["string", "pattern", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Evaluate", ["expression", "modules", "namespace"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Any Critical Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Any Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Pass Execution If", ["condition", "message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Return From Keyword If", ["condition", "*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Call Method", ["object", "method_name", "*args", "**kwargs"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not End With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If All Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Variable Should Not Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Binary", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Suite Metadata", ["name", "value", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Start With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Suite Documentation", ["doc", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword Unless", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal As Strings", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Fail", ["msg", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Import Library", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Reload Library", ["name_or_instance"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Library Instance", ["name", "all"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Variable If", ["condition", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Test Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Count", ["item1", "item2"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Variable Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Timeout Occurred", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Length", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Exit For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Exit For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Contain Any", ["container", "*items", "**configuration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Return Status", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Continue On Failure", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Create Dictionary", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should End With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Variables", ["no_decoration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Variable Value", ["name", "default"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Comment", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Contain Any", ["container", "*items", "**configuration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Keyword Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Pass Execution", ["message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Contain", ["container", "item", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log", ["message", "level", "html", "console", "repr"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Replace Variables", ["text"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Boolean", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Global Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log Variables", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Length Should Be", ["item", "length", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Return From Keyword", ["*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Number", ["item", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Integer", ["item", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Regexp Escape", ["*patterns"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Get Time", ["format", "time_"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To Octal", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log To Console", ["message", "stream", "no_newline"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Continue For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Test Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If All Critical Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Import Variables", ["path", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Variable", ["*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal As Strings", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword And Return If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Suite Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Log Level", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keywords", ["*keywords"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Test Documentation", ["doc", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Test Message", ["message", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Contain X Times", ["item1", "item2", "count", "msg", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Wait Until Keyword Succeeds", ["retry", "retry_interval", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Repeat Keyword", ["repeat", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Create List", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Convert To String", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Contain", ["container", "item", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Fatal Error", ["msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Not Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Log Many", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Should Start With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Continue For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Set Library Search Order", ["*search_order"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Run Keyword If Test Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], - ["Embedding ${arg} To Keyword Name", [], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], - ["Resource B Keyword 2", [], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], - ["Resource B Keyword 3 Many Args", ["arg1=${True}", "arg2", "arg3=${False}"], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], - ["Resource B Keyword 1", ["kwb1"], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], - ["Keyword Which Also Has Really Long Name But Not As Long The Class Name By ${argument} In Keyword", [], "LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample", "gerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample-fa6015c18b098f375de9adcdd01f7de9.json", "OtherNameLib"], - ["Terminate All Processes", ["kill"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Get Process Object", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Get Process Result", ["handle", "rc", "stdout", "stderr", "stdout_path", "stderr_path"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Is Process Running", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Get Process Id", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Process Should Be Stopped", ["handle", "error_message"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Process Should Be Running", ["handle", "error_message"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Split Command Line", ["args", "escaping"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Terminate Process", ["handle", "kill"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Send Signal To Process", ["signal", "handle", "group"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Wait For Process", ["handle", "timeout", "on_timeout"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Switch Process", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Run Process", ["command", "*arguments", "**configuration"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Join Command Line", ["*args"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], - ["Start Process", ["command", "*arguments", "**configuration"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null] - ], - "variables": ["${/}", "${:}", "${\\n}", "${CURDIR}", "${DEBUG_FILE}", "${EMPTY}", "@{EMPTY}", "&{EMPTY}", "${EXECDIR}", "${False}", "${LOG_FILE}", "${LOG_LEVEL}", "${None}", "${null}", "${OUTPUT_DIR}", "${OUTPUT_FILE}", "${PREV_TEST_MESSAGE}", "${PREV_TEST_NAME}", "${PREV_TEST_STATUS}", "${REPORT_FILE}", "${SPACE}", "${SUITE_DOCUMENTATION}", "${SUITE_NAME}", "${SUITE_SOURCE}", "${TEMPDIR}", "${TEST_DOCUMENTATION}", "${TEST_NAME}", "${True}", "&{SUITE_METADATA}", "@{TEST_TAGS}", "${RESOURCE_B}"] -} \ No newline at end of file diff --git a/test/resource/index-test_b.robot-4fa2106cbefa24c4a8ca823c65601719.json b/test/resource/index-test_b.robot-4fa2106cbefa24c4a8ca823c65601719.json new file mode 100644 index 0000000..40ce61d --- /dev/null +++ b/test/resource/index-test_b.robot-4fa2106cbefa24c4a8ca823c65601719.json @@ -0,0 +1,316 @@ +{ + "keywords": [ + ["Run Keyword And Expect Error", ["expected_error", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Ignore Error", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Octal", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["No Operation", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Sleep", ["time_", "reason"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Import Resource", ["path"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Match", ["string", "pattern", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Catenate", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Return", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Hex", ["item", "base", "prefix", "length", "lowercase"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Bytes", ["input", "input_type"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Remove Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Match", ["string", "pattern", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Evaluate", ["expression", "modules", "namespace"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Any Critical Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Any Tests Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Pass Execution If", ["condition", "message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Return From Keyword If", ["condition", "*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Call Method", ["object", "method_name", "*args", "**kwargs"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not End With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If All Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Variable Should Not Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Binary", ["item", "base", "prefix", "length"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Variable If", ["condition", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Suite Metadata", ["name", "value", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Start With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Suite Documentation", ["doc", "append", "top"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword Unless", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Fail", ["msg", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Library Search Order", ["*search_order"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Import Library", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Library Instance", ["name", "all"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal As Strings", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Test Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Count", ["item1", "item2"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Variable Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Timeout Occurred", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Length", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Exit For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Exit For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Contain Any", ["container", "*items", "**configuration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Return Status", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Continue On Failure", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Create Dictionary", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should End With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Comment", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Variables", ["no_decoration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Variable Value", ["name", "default"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To String", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Tags", ["*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Keyword Should Exist", ["name", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Pass Execution", ["message", "*tags"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Contain", ["container", "item", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log", ["message", "level", "html", "console", "repr"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Contain Any", ["container", "*items", "**configuration"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Boolean", ["item"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Global Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log Variables", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal As Numbers", ["first", "second", "msg", "values", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Length Should Be", ["item", "length", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Return From Keyword", ["*return_values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Number", ["item", "precision"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Convert To Integer", ["item", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Regexp Escape", ["*patterns"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Get Time", ["format", "time_"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Replace Variables", ["text"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log To Console", ["message", "stream", "no_newline"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Continue For Loop", [], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Test Failed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If All Critical Tests Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Import Variables", ["path", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Variable", ["*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal As Strings", ["first", "second", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Empty", ["item", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword And Return If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Suite Variable", ["name", "*values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Log Level", ["level"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keywords", ["*keywords"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If", ["condition", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Test Documentation", ["doc", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Set Test Message", ["message", "append"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Contain X Times", ["item1", "item2", "count", "msg", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Wait Until Keyword Succeeds", ["retry", "retry_interval", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Repeat Keyword", ["repeat", "name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Create List", ["*items"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Reload Library", ["name_or_instance"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Match Regexp", ["string", "pattern", "msg", "values"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Contain", ["container", "item", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Fatal Error", ["msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be Equal As Integers", ["first", "second", "msg", "values", "base"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Log Many", ["*messages"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Start With", ["str1", "str2", "msg", "values", "ignore_case"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Continue For Loop If", ["condition"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Should Not Be True", ["condition", "msg"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Run Keyword If Test Passed", ["name", "*args"], "BuiltIn", "BuiltIn-ca8f2e8d70641ce17b9b304086c19657.json", null], + ["Common Keyword 2", [], "common", "common.robot-7c93ead02f1e3d24059b919c1f504579.json", null], + ["Common Keyword 1", [], "common", "common.robot-7c93ead02f1e3d24059b919c1f504579.json", null], + ["Really Long Keyword To Test With Jumping To Keyword Does Not Scroll The Visible Area To A Wrong Place Should There Be More Words", [], "common", "common.robot-7c93ead02f1e3d24059b919c1f504579.json", null], + ["Other Name Here", ["arg"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Other ${arg1} and ${arg2} Too", [], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Other Long Name Keyword", ["*args", "**kwargs"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Long Name Keyword", ["*args"], "LibraryWithReallyTooLongName", "LibraryWithReallyTooLongName-b383ba1a04c33dff7d6ccb4735fe302f.json", "LongName"], + ["Set Window Position", ["x", "y"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Disabled", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Press Key", ["locator", "key"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Frame Should Contain", ["locator", "text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Text", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Element At Coordinates", ["locator", "xoffset", "yoffset"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List By Label", ["locator", "*labels"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Location", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Focus", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Element Attribute", ["locator", "attribute"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Column Should Contain", ["locator", "column", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textarea Value Should Be", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Dismiss Alert", ["accept"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Element", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Horizontal Position", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Not Contain", ["locator", "expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Contains", ["text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect All From List", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Text", ["locator", "text"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Radio Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Go To", ["url"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Row Should Contain", ["locator", "row", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Down On Image", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Is Not Visible", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Cell Should Contain", ["locator", "row", "column", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Password", ["locator", "password"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Title Should Be", ["title", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Capture Page Screenshot", ["filename"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Assign Id To Element", ["locator", "id"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Selenium Implicit Wait", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Checkbox", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Create Webdriver", ["driver_name", "alias", "kwargs", "**init_kwargs"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Selenium Timeout", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Matching Xpath Count", ["xpath", "return_str"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Cookie", ["name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect Checkbox", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Button", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Image", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Text Should Be", ["locator", "expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Does Not Contain Element", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Alert Message", ["dismiss"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Names", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List", ["locator", "*options"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Element Count", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Down On Link", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get WebElements", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Log Location", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Window", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Image", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Current Frame Should Not Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get WebElement", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Add Cookie", ["name", "value", "path", "domain", "secure", "expiry"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Down", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Identifiers", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List By Value", ["locator", "*values"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Add Location Strategy", ["strategy_name", "strategy_keyword", "persist"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List By Index", ["locator", "*indexes"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Link", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Selenium Speed", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textfield Value Should Be", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Should Contain", ["locator", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Current Frame Contains", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Is Visible", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Switch Browser", ["index_or_alias"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Text Should Not Be", ["locator", "not_expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Remove Location Strategy", ["strategy_name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Confirm Action", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Element", ["locator", "message", "loglevel", "limit"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Is Enabled", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Close Browser", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Titles", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["List Should Have No Selections", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Over", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Checkbox Should Be Selected", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List By Index", ["locator", "*indexes"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Simulate Event", ["locator", "event"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["List Windows", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Choose Ok On Next Confirmation", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Link", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selenium Timeout", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Does Not Contain", ["text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Cookies", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Value", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Element Size", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Image", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Textfield", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textfield Should Contain", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Label", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Values", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Handle Alert", ["action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Position", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Choose Cancel On Next Confirmation", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Vertical Position", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Does Not Contain", ["locator", "text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Close Window", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Log Title", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Contain", ["locator", "expected", "message", "ignore_case"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Delete All Cookies", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Delete Cookie", ["name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Submit Form", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Choose File", ["locator", "file_path"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Page Contains Element", ["locator", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Xpath Should Match X Times", ["xpath", "x", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Current Frame Should Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Frame", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Source", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Radio Button Should Not Be Selected", ["group_name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get List Items", ["locator", "values"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selenium Speed", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain List", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Register Keyword To Run On Failure", ["keyword"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["List Selection Should Be", ["locator", "*expected"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Simulate", ["locator", "event"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Locator Should Match X Times", ["locator", "x", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Out", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Handles", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select All From List", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Footer Should Contain", ["locator", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Radio Button", ["group_name", "value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Focused", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Link", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Window Size", ["width", "height"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selected List Labels", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Checkbox", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Location Should Contain", ["expected"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List", ["locator", "*items"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Window Size", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect From List By Value", ["locator", "*values"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Table Header Should Contain", ["locator", "expected", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Alert Should Be Present", ["text", "action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Text Into Alert", ["text", "action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain Radio Button", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Locations", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Clear Element Text", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Title", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Click Element", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Screenshot Directory", ["path", "persist"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Input Text Into Prompt", ["text"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Visible", ["locator", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Drag And Drop", ["locator", "target"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain Textfield", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Mouse Up", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Be Enabled", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Execute Async Javascript", ["*code"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Value", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Reload Page", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Selenium Implicit Wait", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Drag And Drop By Offset", ["locator", "xoffset", "yoffset"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Table Cell", ["locator", "row", "column", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Radio Button Should Be Set To", ["group_name", "value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Browser Implicit Wait", ["value"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Textarea Should Contain", ["locator", "expected", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait Until Element Contains", ["locator", "text", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get All Links", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Execute Javascript", ["*code"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Open Context Menu", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select Checkbox", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Open Browser", ["url", "browser", "alias", "remote_url", "desired_capabilities", "ff_profile_dir"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Wait For Condition", ["condition", "timeout", "error"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Checkbox Should Not Be Selected", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Double Click Element", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Select From List By Label", ["locator", "*labels"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Element Should Not Be Visible", ["locator", "message"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Maximize Browser Window", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Log Source", ["loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Alert Should Not Be Present", ["action", "timeout"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Close All Browsers", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Go Back", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Location Should Be", ["url"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Set Focus To Element", ["locator"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Get Cookie Value", ["name"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Contain", ["text", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Page Should Not Contain List", ["locator", "message", "loglevel"], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Unselect Frame", [], "SeleniumLibrary", "SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json", null], + ["Embedding ${arg} To Keyword Name", [], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], + ["Resource B Keyword 2", [], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], + ["Resource B Keyword 3 Many Args", ["arg1=${True}", "arg2=Text_here", "arg3=${False}"], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], + ["Resource B Keyword 1", ["kwb1"], "resource_b", "resource_b.robot-95285bb5547b97817ede6410fe722b57.json", null], + ["Keyword Which Also Has Really Long Name But Not As Long The Class Name By ${argument} In Keyword", [], "LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample", "gerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample-fa6015c18b098f375de9adcdd01f7de9.json", "OtherNameLib"], + ["Terminate All Processes", ["kill"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Get Process Object", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Get Process Result", ["handle", "rc", "stdout", "stderr", "stdout_path", "stderr_path"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Is Process Running", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Get Process Id", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Process Should Be Stopped", ["handle", "error_message"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Process Should Be Running", ["handle", "error_message"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Split Command Line", ["args", "escaping"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Terminate Process", ["handle", "kill"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Send Signal To Process", ["signal", "handle", "group"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Wait For Process", ["handle", "timeout", "on_timeout"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Switch Process", ["handle"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Run Process", ["command", "*arguments", "**configuration"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Join Command Line", ["*args"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["Start Process", ["command", "*arguments", "**configuration"], "Process", "Process-b6ec7abeb6ae29cc35a4b47475e12afe.json", null], + ["My Long Keyword", ["arg1", "arg2"], "com.company.library.DoLibrary", "com.company.library.DoLibrary-NotValid.json", null], + ["My Other Keyword", ["arg1", "arg2", "arg3"], "com.company.library.DoLibrary", "com.company.library.DoLibrary-NotValid.json", null], + ["My Long Keyword", ["arg1", "arg2"], "com.company.library.OtherLibrary", "com.company.library.OtherLibrary-NotValid.json", null], + ["My Long Keyword", ["arg1", "arg2"], "com.company.library.special.long.OtherLibrary", "com.company.library.special.long.OtherLibrary-NotValid.json", null] + ], + "variables": ["${/}", "${:}", "${\\n}", "${CURDIR}", "${DEBUG_FILE}", "${EMPTY}", "@{EMPTY}", "&{EMPTY}", "${EXECDIR}", "${False}", "${LOG_FILE}", "${LOG_LEVEL}", "${None}", "${null}", "${OUTPUT_DIR}", "${OUTPUT_FILE}", "${PREV_TEST_MESSAGE}", "${PREV_TEST_NAME}", "${PREV_TEST_STATUS}", "${REPORT_FILE}", "${SPACE}", "${SUITE_DOCUMENTATION}", "${SUITE_NAME}", "${SUITE_SOURCE}", "${TEMPDIR}", "${TEST_DOCUMENTATION}", "${TEST_NAME}", "${True}", "&{SUITE_METADATA}", "@{TEST_TAGS}", "${RESOURCE_B}"] +} \ No newline at end of file diff --git a/test/resource/library/MyLibrary.py b/test/resource/library/MyLibrary.py index 2b032dc..a10c3f7 100644 --- a/test/resource/library/MyLibrary.py +++ b/test/resource/library/MyLibrary.py @@ -1,11 +1,15 @@ -class MyLibrary(): +from robot.api import logger + + +class MyLibrary(object): def keyword_1(self, arg1): """kw 1 doc Tags: tag1, tag2 """ - print arg1 + logger.info(arg1) def keyword_2(self, arg2, arg3): """kw 2 doc""" - return arg2 + logger.info(arg2) + logger.info(arg3) diff --git a/test/resource/library/OtherMyLibrary.py b/test/resource/library/OtherMyLibrary.py index d8055f3..04c6a1c 100644 --- a/test/resource/library/OtherMyLibrary.py +++ b/test/resource/library/OtherMyLibrary.py @@ -1,3 +1,6 @@ +from robot.api import logger + + class OtherMyLibrary(object): def __init__(self, arg1, arg2): @@ -8,7 +11,7 @@ def keyword_1(self, arg1): """kw 1 doc Tags: tag1, tag2 """ - print arg1 + logger.info(arg1) def keyword_2(self, arg2, arg3): """kw 2 doc""" diff --git a/test/resource/test_data/real_suite/libs/com/company/library.py b/test/resource/test_data/real_suite/libs/com/company/library.py index e20b007..f80f111 100644 --- a/test/resource/test_data/real_suite/libs/com/company/library.py +++ b/test/resource/test_data/real_suite/libs/com/company/library.py @@ -1,3 +1,5 @@ +from __future__ import print_function + from robot.libraries.BuiltIn import BuiltIn @@ -5,8 +7,8 @@ class CompanyLibrary(object): """docstring for ComparyLibrary""" def company_keyword(self, arg): - print arg + print(arg) def company_keyword_2(self, args): - print args - print BuiltIn().get_library_instance('Selenium2Library') + print(args) + print(BuiltIn().get_library_instance('SeleniumLibrary')) diff --git a/test/resource/test_data/real_suite/resource/reosurce2/real_suite_resource.robot b/test/resource/test_data/real_suite/resource/reosurce2/real_suite_resource.robot index 55bdc9b..cfde927 100644 --- a/test/resource/test_data/real_suite/resource/reosurce2/real_suite_resource.robot +++ b/test/resource/test_data/real_suite/resource/reosurce2/real_suite_resource.robot @@ -1,7 +1,7 @@ *** Settings *** Library com.company.library.CompanyLibrary Library ../../libs/SuiteLib.py 1 -Library Selenium2Library timeout=15.0 run_on_failure=Real Suite User Keyword 4 +Library SeleniumLibrary timeout=15.0 run_on_failure=Real Suite User Keyword 4 *** Variables *** # Comment diff --git a/test/resource/test_data/simple_resource.robot b/test/resource/test_data/simple_resource.robot index 7ea6d6c..f9bc994 100644 --- a/test/resource/test_data/simple_resource.robot +++ b/test/resource/test_data/simple_resource.robot @@ -1,5 +1,5 @@ *** Settings *** -Library Selenium2Library timeout=5.0 +Library SeleniumLibrary timeout=5.0 Documentation foobar Resource simple_resrouce2.robot Variables simple_variable_file.py arg11 arg22 diff --git a/test/resource/test_data/simple_test.robot b/test/resource/test_data/simple_test.robot index 27f1ac2..0053bf4 100644 --- a/test/resource/test_data/simple_test.robot +++ b/test/resource/test_data/simple_test.robot @@ -1,5 +1,5 @@ *** Settings *** -Library Selenium2Library timeout=5.0 implicit_wait=0.0 +Library SeleniumLibrary timeout=5.0 implicit_wait=0.0 Documentation foobar Resource simple_resrouce2.robot Variables simple_variable_file.py arg11 arg22 diff --git a/test/resource/test_data/suite_tree/LibNoClass.py b/test/resource/test_data/suite_tree/LibNoClass.py index 8b6015d..3803d10 100644 --- a/test/resource/test_data/suite_tree/LibNoClass.py +++ b/test/resource/test_data/suite_tree/LibNoClass.py @@ -1,8 +1,12 @@ +from robot.api import logger + + def library_keyword_1(arg1): """library keyword 1 doc""" - print arg1 + logger.info(arg1) def library_keyword_2(arg1, arg2): """library keyword 2 doc""" - print arg1, arg2 + logger.info(arg1) + logger.info(arg2) diff --git a/test/resource/test_data/suite_tree/LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample.py b/test/resource/test_data/suite_tree/LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample.py index 65da5b9..b1ecc90 100644 --- a/test/resource/test_data/suite_tree/LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample.py +++ b/test/resource/test_data/suite_tree/LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample.py @@ -1,4 +1,5 @@ from robot.api.deco import keyword +from robot.api import logger class LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlotLettersInTheFileNameAndIsNotGoodRealLifeExample(object): @@ -8,4 +9,4 @@ class LibraryNameWhichIsLongerThan100CharactersButItSeemsThatItRequiresQuiteAlot @keyword(name='Keyword Which Also Has Really Long Name But Not As Long The Class Name By ${argument} In Keyword') def function(self, argument): """Documentation is here""" - print argument + logger.info(argument) diff --git a/test/resource/test_data/suite_tree/LibraryWithReallyTooLongName.py b/test/resource/test_data/suite_tree/LibraryWithReallyTooLongName.py index d3ba102..3883ea7 100644 --- a/test/resource/test_data/suite_tree/LibraryWithReallyTooLongName.py +++ b/test/resource/test_data/suite_tree/LibraryWithReallyTooLongName.py @@ -1,22 +1,26 @@ from robot.api.deco import keyword +from robot.api import logger class LibraryWithReallyTooLongName(object): + @keyword def long_name_keyword(self, *args): """Documentation goes here""" - print args + logger.info(args) def other_long_name_keyword(self, *args, **kwargs): """Other documentation goes here""" - print args, kwargs + logger.info(args) + logger.info(kwargs) @keyword(name='Other Name Here') def not_name(self, arg): """def not_name kw name Other Name Here""" - print arg + logger.info(arg) @keyword(name='Other ${arg1} and ${arg2} Too') def keyword_deco(self, arg1, arg2): """lib keyword with emmedded args""" - print arg1, arg2 + logger.info(arg1) + logger.info(arg2) diff --git a/test/resource/test_data/suite_tree/common.robot b/test/resource/test_data/suite_tree/common.robot index 6073c9b..55709f0 100644 --- a/test/resource/test_data/suite_tree/common.robot +++ b/test/resource/test_data/suite_tree/common.robot @@ -1,5 +1,5 @@ *** Settings *** -Library Selenium2Library timeout=5.0 run_on_failure=Common Keyword 1 +Library SeleniumLibrary timeout=5.0 run_on_failure=Common Keyword 1 Library LibraryWithReallyTooLongName.py WITH NAME LongName Variables common_variables.py one two diff --git a/test/run_test.py b/test/run_test.py index a53e820..fbef98b 100644 --- a/test/run_test.py +++ b/test/run_test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import env import os import sys @@ -13,7 +15,7 @@ def acceptance_test(options): if '-s' in options or '--suite' in options: return _acceptance_include(options[1:]) else: - print 'Only "-s" or "--suite" supported' + print('Only "-s" or "--suite" supported') _exit(255) @@ -35,20 +37,20 @@ def _acceptance_include(options): def clean_results(): - print 'Clean: {0}'.format(env.RESULTS_DIR) + print('Clean: {0}'.format(env.RESULTS_DIR)) if os.path.exists(env.RESULTS_DIR): shutil.rmtree(env.RESULTS_DIR) os.mkdir(env.RESULTS_DIR) def unit_test(): - print 'Running unit test' + print('Running unit test') sys.path.insert(0, env.COMMAND_HELPER_DIR) sys.path.insert(0, env.SETTING_DIR) sys.path.insert(0, env.SRC_DIR) sys.path.append(env.UNIT_TEST_DIR) # suite = unittest.TestLoader().loadTestsFromName( - # 'test_current_view.TestIndexing.test_create_view') + # 'test_runner_for_index.TestRunner') suite = unittest.TestLoader().discover( start_dir=env.UNIT_TEST_DIR, pattern='test*.py') @@ -56,7 +58,7 @@ def unit_test(): def _help(): - print 'Usage: python run_test.py [-s suite_name]' + print('Usage: python run_test.py [-s suite_name]') return 255 @@ -71,13 +73,13 @@ def _exit(rc): u_result = unit_test() a_result = acceptance_test(sys.argv[1:]) if u_result.errors or u_result.failures: - print 'Unit tests failed' - print 'errors: ', u_result.errors - print 'failures: ', u_result.failures + print('Unit tests failed') + print('errors: %s' % u_result.errors) + print('failures: %s' % u_result.failures) _exit(u_result.errors) elif a_result != 0: - print 'Acceptance tests failed' + print('Acceptance tests failed') _exit(a_result) else: - print 'All passed' + print('All passed') _exit(0) diff --git a/test/unit/index_runner.py b/test/unit/index_runner.py index 0cddccc..747df69 100644 --- a/test/unit/index_runner.py +++ b/test/unit/index_runner.py @@ -1,7 +1,8 @@ import shutil import multiprocessing from os import path, listdir, makedirs -from index.index import index_a_table + +from dataparser.index import index_a_table def index_all(db_path, index_path): diff --git a/test/unit/test_completions.py b/test/unit/test_completions.py index 5c8b551..50947b6 100644 --- a/test/unit/test_completions.py +++ b/test/unit/test_completions.py @@ -22,12 +22,10 @@ class TestCompletions(unittest.TestCase): def setUpClass(cls): cls.test_a_index = path.join( env.RESOURCES_DIR, - 'index-test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json' - ) + 'index-test_a.robot-874795cab732d103f0b26c5926b17843.json') cls.test_b_index = path.join( env.RESOURCES_DIR, - 'index-test_b.robot-28dc4d6e222a03bbc3db1fe62743ce94.json' - ) + 'index-test_b.robot-4fa2106cbefa24c4a8ca823c65601719.json') def test_get_completion_list(self): prefix = 'Runk' @@ -51,7 +49,7 @@ def test_object_name_included(self): False, RF_CELL ) - self.assertEqual(len(result), 23) + self.assertEqual(len(result), 24) builtin = 'BuiltIn' expected = ( '{0}\t{0}'.format(builtin), @@ -71,7 +69,7 @@ def test_get_kw_completion_list_count(self): prefix = 'Run' kw_tuple = get_kw_completion_list(self.test_a_index, prefix, RF_CELL, None, False) - self.assertEqual(len(kw_tuple), 40) + self.assertEqual(len(kw_tuple), 42) prefix = 'RunKeY' kw_tuple = get_kw_completion_list(self.test_a_index, prefix, RF_CELL, None, False) @@ -156,7 +154,7 @@ def test_kw_create_completion_item(self): self.assertEqual(completion, expected) # kw not args kw = 'Unselect Frame' - lib = 'Selenium2Library' + lib = 'SeleniumLibrary' completion = create_kw_completion_item(kw, [], RF_CELL, lib, False) trigger = '{0}\t{1}'.format(kw, lib) expected = (trigger, kw) @@ -175,7 +173,7 @@ def test_kw_create_completion_item_sinlge_line(self): self.assertEqual(completion, expected) # kw not args kw = 'Unselect Frame' - lib = 'Selenium2Library' + lib = 'SeleniumLibrary' completion = create_kw_completion_item(kw, [], RF_CELL, lib, True) trigger = '{0}\t{1}'.format(kw, lib) expected = (trigger, kw) @@ -293,7 +291,7 @@ def test_arguments_defaults(self): ( 'Resource B Keyword 3 Many Args\n' '... arg1=${True}\n' - '... arg2\n' + '... arg2=Text_here\n' '... arg3=${False}' ) )] @@ -304,8 +302,8 @@ def test_lib_with_name(self): result = get_completion_list( self.test_b_index, prefix, len(prefix), None, False, RF_CELL ) - expected = [('OtherNameLib\tOtherNameLib', 'OtherNameLib.')] - self.assertEqual(result, expected) + expected = ('OtherNameLib\tOtherNameLib', 'OtherNameLib.') + self.assertIn(expected, result) def test_kw_from_lib_with_name(self): prefix = 'Keyword' diff --git a/test/unit/test_get_documentation.py b/test/unit/test_get_documentation.py index 16ea729..e89b57a 100644 --- a/test/unit/test_get_documentation.py +++ b/test/unit/test_get_documentation.py @@ -3,7 +3,7 @@ import shutil from os import path, makedirs from index_runner import index_all -from queue.scanner import Scanner +from dataparser.queue.scanner import Scanner from parser_utils.file_formatter import rf_table_name, lib_table_name from get_documentation import GetKeywordDocumentation diff --git a/test/unit/test_get_keyword_from_library.py b/test/unit/test_get_keyword_from_library.py index 0970d23..7ae71c6 100644 --- a/test/unit/test_get_keyword_from_library.py +++ b/test/unit/test_get_keyword_from_library.py @@ -1,10 +1,11 @@ -import unittest -import env -import shutil import platform +import shutil +import unittest from os import path, mkdir + +import env from index_runner import index_all -from queue.scanner import Scanner +from dataparser.queue.scanner import Scanner from get_keyword import GetKeyword @@ -50,7 +51,7 @@ def setUp(self): def test_get_lib_kw(self): regex, file_path = self.get_kw.get_lib_keyword( - self.s2l_table_file, + self.sl_table_file, None, 'Simulate' ) @@ -59,37 +60,37 @@ def test_get_lib_kw(self): def test_get_lib_keyword_file(self): kw_file = self.get_kw.get_lib_keyword_file( - self.s2l_table_file, + self.sl_table_file, None, 'Simulate' - ) - self.assertIn(self.s2l_simulate, kw_file) +) + self.assertIn(self.sl_simulate, kw_file) kw_file = self.get_kw.get_lib_keyword_file( - self.s2l_table_file, + self.sl_table_file, None, 'textarea_value_should_be' ) - self.assertIn(self.s2l_textarea_value_should_be, kw_file) + self.assertIn(self.sl_textarea_value_should_be, kw_file) kw_file = self.get_kw.get_lib_keyword_file( - self.s2l_table_file, + self.sl_table_file, None, 'PressKey' ) - self.assertIn(self.s2l_press_key, kw_file) + self.assertIn(self.sl_press_key, kw_file) kw_file = self.get_kw.get_lib_keyword_file( - self.s2l_table_file, - 'Selenium2Library', + self.sl_table_file, + 'SeleniumLibrary', 'PressKey' ) - self.assertIn(self.s2l_press_key, kw_file) + self.assertIn(self.sl_press_key, kw_file) kw_file = self.get_kw.get_lib_keyword_file( - self.s2l_table_file, + self.sl_table_file, 'NotHere', 'PressKey' ) self.assertEqual(kw_file, None) kw_file = self.get_kw.get_lib_keyword_file( - self.s2l_table_file, + self.sl_table_file, None, 'NotKeyword' ) @@ -133,15 +134,6 @@ def test_keyword_lib_with_alias(self): open_tab=self.get_resource_b_robot_path, rf_extension=self.rf_ext ) - # regex, file_path = get_kw_.return_file_and_patter( - # 'LongName', - # 'Long Name Keyword' - # ) - # self.assertEqual( - # file_path, - # self.long_name_file - # ) - kw = ( 'Keyword Which Also Has Really Long Name But Not As' ' Long The Class Name By 1234 In Keyword' @@ -164,30 +156,29 @@ def test_keyword_lib_with_alias(self): self.assertEqual(regex, expected_re) @property - def s2l(self): + def sl(self): if platform.system() == 'Windows': - return 'selenium2library' + return 'seleniumlibrary' else: - return 'Selenium2Library' + return 'SeleniumLibrary' @property - def s2l_simulate(self): - return path.join(self.s2l, 'keywords', '_element.py') + def sl_simulate(self): + return path.join(self.sl, 'keywords', 'element.py') @property - def s2l_press_key(self): - return path.join(self.s2l, 'keywords', '_element.py') + def sl_press_key(self): + return path.join(self.sl, 'keywords', 'element.py') @property - def s2l_textarea_value_should_be(self): - return path.join(self.s2l, 'keywords', '_formelement.py') + def sl_textarea_value_should_be(self): + return path.join(self.sl, 'keywords', 'formelement.py') @property - def s2l_table_file(self): + def sl_table_file(self): return path.join( self.db_dir, - 'Selenium2Library-ac72a5ed5dae4edc06e58114b7c0ce92.json' - ) + 'SeleniumLibrary-ed5a6b78e6f238da896f2d5aad33b8b8.json') @property def get_common_robot(self): diff --git a/test/unit/test_get_text.py b/test/unit/test_get_text.py index ce4bc4f..eaacaa1 100644 --- a/test/unit/test_get_text.py +++ b/test/unit/test_get_text.py @@ -20,16 +20,16 @@ def test_object(self): def test_two_object_cursor_at_end(self): line = '{0}Run Keyword And Expect Error{1}no'.format( - ' BuiltIn.', ' Selenium2Library.') + ' BuiltIn.', ' SeleniumLibrary.') prefix = 'no' column = len(line) expected = get_object_from_line(line, prefix, column) - self.assertEqual(expected, 'Selenium2Library') + self.assertEqual(expected, 'SeleniumLibrary') def test_two_object_cursor_at_first(self): line = '{1}no{0}Run Keyword And Expect Error'.format( - ' BuiltIn.', ' Selenium2Library.') + ' BuiltIn.', ' SeleniumLibrary.') prefix = 'no' - column = 23 + column = 22 expected = get_object_from_line(line, prefix, column) - self.assertEqual(expected, 'Selenium2Library') + self.assertEqual(expected, 'SeleniumLibrary') diff --git a/test/unit/test_indexkw.py b/test/unit/test_indexkw.py index 995f5d7..f1d5da9 100644 --- a/test/unit/test_indexkw.py +++ b/test/unit/test_indexkw.py @@ -300,7 +300,7 @@ def test_get_object_name(self): object_name = self.index.get_object_name(self.get_os()) self.assertEqual(object_name, 'OperatingSystem') object_name = self.index.get_object_name(self.get_s2l()) - self.assertEqual(object_name, 'Selenium2Library') + self.assertEqual(object_name, 'SeleniumLibrary') def test_library_with_alias(self): data = self.index.create_index_for_table(self.db_dir, @@ -368,8 +368,8 @@ def resource_a_table_name(self): ) @property - def s2l_table_name(self): - return lib_table_name('Selenium2Library') + def sl_table_name(self): + return lib_table_name('SeleniumLibrary') @property def os_table_name(self): @@ -430,7 +430,7 @@ def get_s2l(self): f = open( os.path.join( self.db_dir, - self.s2l_table_name + self.sl_table_name ) ) return json.load(f) @@ -493,8 +493,8 @@ def get_s2l_kw_index(self, keywordrecord): s2l_data = self.get_s2l() kw_list = self.index.get_keywords(s2l_data)[0] arg_list = self.get_kw_args(s2l_data) - object_name = 'Selenium2Library' - table_name = self.s2l_table_name + object_name = 'SeleniumLibrary' + table_name = self.sl_table_name l = [] for kw, arg in zip(kw_list, arg_list): l.append( @@ -715,7 +715,7 @@ def get_common_kw_index(self, keywordrecord): def get_kw_args(self, data): arg_list = [] kws = data["keywords"] - for i in kws.iterkeys(): + for i in kws: args = kws[i]['keyword_arguments'] for arg in args: if '=' in arg: diff --git a/test/unit/test_jump_to_file.py b/test/unit/test_jump_to_file.py index 100e735..ff9893c 100644 --- a/test/unit/test_jump_to_file.py +++ b/test/unit/test_jump_to_file.py @@ -57,15 +57,15 @@ def test_is_resource(self): self.assertTrue(status) def test_is_library(self): - line = 'Library Selenium2Library' + line = 'Library SeleniumLibrary' status = self.jump.is_import(line) self.assertTrue(status) - line = '| Library | Selenium2Library |' + line = '| Library | SeleniumLibrary |' status = self.jump.is_import(line) self.assertTrue(status) - line = '| Library | Selenium2Library |' + line = '| Library | SeleniumLibrary |' status = self.jump.is_import(line) self.assertTrue(status) diff --git a/test/unit/test_noralize_cell.py b/test/unit/test_noralize_cell.py index 506bc6c..365693f 100644 --- a/test/unit/test_noralize_cell.py +++ b/test/unit/test_noralize_cell.py @@ -11,7 +11,7 @@ class TestCompletions(unittest.TestCase): def setUpClass(cls): cls.current_view = path.join( env.RESOURCES_DIR, - 'index-test_a.robot-c6b0faa0427a2cf861a1acad630765ea.json' + 'index-test_a.robot-874795cab732d103f0b26c5926b17843.json' ) cls.rf_cell = ' ' cls.rkao = ReturnKeywordAndObject( @@ -121,16 +121,12 @@ def test_get_data(self): def test_library_too_long_name(self): current_view_ = path.join( env.RESOURCES_DIR, - 'index-test_b.robot-28dc4d6e222a03bbc3db1fe62743ce94.json' - ) + 'index-test_b.robot-4fa2106cbefa24c4a8ca823c65601719.json') rkao_ = ReturnKeywordAndObject( current_view_, - ' ' - ) - line = ( - ' OtherNameLib.Keyword Which Also Has Really Long Name But ' - 'Not As Long The Class Name By 1234 In Keyword' - ) + ' ') + line = (' OtherNameLib.Keyword Which Also Has Really Long Name But ' + 'Not As Long The Class Name By 1234 In Keyword') column = 30 keyword, object_name = rkao_.normalize(line, column) self.assertEqual(keyword, line.replace(' OtherNameLib.', '')) diff --git a/test/unit/test_runner_for_index.py b/test/unit/test_runner_for_index.py index 4fc6e0f..6c3d293 100644 --- a/test/unit/test_runner_for_index.py +++ b/test/unit/test_runner_for_index.py @@ -1,10 +1,11 @@ -import unittest -import env import os import shutil import re -from time import sleep +import time +import unittest + from queue.scanner import Scanner +from test import env from test_runner_for_scanner import run_process @@ -31,13 +32,11 @@ def setUp(self): if os.path.exists(self.index_path): while os.path.exists(self.index_path): shutil.rmtree(self.index_path) - sleep(0.1) + time.sleep(0.1) os.mkdir(self.index_path) self.runner = os.path.join(env.SRC_DIR, 'run_index.py') - self.index_path = os.path.join( - env.RESULTS_DIR, - 'index_dir' - ) + self.index_path = os.path.join(env.RESULTS_DIR, + 'index_dir') def test_index_all_runner(self): p_args = [ @@ -96,9 +95,7 @@ def test_index_single(self): def clean_info_messages(self, log_file): f = open(log_file) # Strip way S2L info messages - pattern = re.compile( - r'(?im)^INFO:' - ) + pattern = re.compile(r'(?im)^INFO:') lines = [] for line in f.readlines(): if not pattern.search(line): diff --git a/test/unit/test_runner_for_scanner.py b/test/unit/test_runner_for_scanner.py index 9e6f4bc..f342876 100644 --- a/test/unit/test_runner_for_scanner.py +++ b/test/unit/test_runner_for_scanner.py @@ -14,7 +14,6 @@ def run_process(p_args): stdout=log_file ) p.wait() - log_file.name log_file.close() return log_file.name diff --git a/test/unit/test_scanner.py b/test/unit/test_scanner.py index 1da7aaa..98156ca 100644 --- a/test/unit/test_scanner.py +++ b/test/unit/test_scanner.py @@ -1,11 +1,15 @@ -import unittest -import env +import hashlib +import json import os import shutil -import hashlib +import sys +import unittest from time import sleep -import json -from queue.scanner import Scanner + +import env +from dataparser.queue.scanner import Scanner + +PY2 = sys.version_info[0] < 3 class TestScanner(unittest.TestCase): @@ -74,20 +78,17 @@ def test_queue_populated(self): self.scanner.scan( self.real_suite, 'robot', - self.db_dir - ) + self.db_dir) self.assertEqual(len(self.scanner.queue.queue), 10) key = os.path.join( self.real_suite, 'resource', - 'reosurce2', - 'real_suite_resource.robot' - ) + 'resource1', + 'real_suite_resource.robot') key = os.path.normcase(key) self.assertEqual( self.scanner.queue.queue[key], - {'scanned': True, 'type': None, 'args': None} - ) + {'scanned': True, 'type': None, 'args': None}) def test_add_libraries_queue(self): libs = [{'library_name': u'OperatingSystem', @@ -256,9 +257,14 @@ def test_parse_real_suite(self): 'robot', self.db_dir) files = os.listdir(self.db_dir) - builtin = '{0}-{1}.json'.format( - 'BuiltIn', - hashlib.md5('BuiltIn').hexdigest()) + if PY2: + builtin = '{0}-{1}.json'.format( + 'BuiltIn', + hashlib.md5('BuiltIn').hexdigest()) + else: + builtin = '{0}-{1}.json'.format( + 'BuiltIn', + hashlib.md5('BuiltIn'.encode('utf-18')).hexdigest()) self.assertTrue(builtin in files) operatingsystem = '{0}-{1}.json'.format( 'OperatingSystem', @@ -334,8 +340,12 @@ def add_test_data(self): self.scanner.queue.add('resource.robot', 'resource', []) def f_name(self, data, db_dir): + if PY2: + md5_hex = hashlib.md5(data['file_path']).hexdigest() + else: + file_path = data['file_path'] + md5_hex = hashlib.md5(file_path.encode('utf-16')).hexdigest() file_name = '{realname}-{md5}.json'.format( realname=os.path.basename(data['file_path']), - md5=hashlib.md5(data['file_path']).hexdigest() - ) + md5=md5_hex) return os.path.join(db_dir, file_name)