robotframework 7.0rc2__zip → 7.0.1__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {robotframework-7.0rc2 → robotframework-7.0.1}/INSTALL.rst +35 -35
- {robotframework-7.0rc2/src/robotframework.egg-info → robotframework-7.0.1}/PKG-INFO +5 -3
- {robotframework-7.0rc2 → robotframework-7.0.1}/README.rst +3 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/setup.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/interfaces.py +14 -10
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/languages.py +45 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/common.css +17 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.html +0 -26
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/jsonbuilder.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/model.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/robotbuilder.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/xmlbuilder.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/BuiltIn.py +8 -4
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Collections.py +5 -3
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/String.py +2 -2
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/XML.py +2 -7
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/dialogs_py.py +3 -4
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/__init__.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/configurer.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/filter.py +9 -9
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/keyword.py +2 -9
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/xmllogger.py +3 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/logreportwriters.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/model.py +2 -27
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/__init__.py +7 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentresolver.py +7 -15
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typeconverters.py +11 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typeinfo.py +48 -16
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typeinfoparser.py +48 -28
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/bodyrunner.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/transformers.py +3 -3
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/invalidkeyword.py +5 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/librarykeyword.py +3 -3
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/model.py +32 -28
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/namespace.py +4 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/resourcemodel.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/timeouts/__init__.py +6 -2
- robotframework-7.0.1/src/robot/running/timeouts/nosupport.py +25 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/userkeywordrunner.py +2 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/__init__.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/misc.py +1 -2
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/notset.py +2 -3
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/version.py +1 -1
- {robotframework-7.0rc2 → robotframework-7.0.1/src/robotframework.egg-info}/PKG-INFO +5 -3
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/SOURCES.txt +1 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/AUTHORS.rst +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/BUILD.rst +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/CONTRIBUTING.rst +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/COPYRIGHT.txt +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/LICENSE.txt +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/MANIFEST.in +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/setup.cfg +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/__main__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/deco.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/exceptions.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/logger.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/parsing.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/py.typed +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/gatherfailed.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/settings.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/errors.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/common/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/common/js_disabled.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/common/storage.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/htmlfilewriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/jsonwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.min.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.html +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/print.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/pygments.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/fileloading.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/model.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/print.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.html +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/testdata.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/util.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/view.js +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/template.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/testdoc/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdoc.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/builder.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/consoleviewer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/datatypes.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/htmlutils.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/htmlwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/jsonwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/output.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/standardtypes.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/writer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/xmlwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/DateTime.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Dialogs.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Easter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/OperatingSystem.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Process.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Remote.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Screenshot.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Telnet.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/body.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/control.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/fixture.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/itemlist.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/message.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/metadata.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/modelobject.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/modifier.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/namepatterns.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/statistics.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/stats.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/suitestatistics.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/tags.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/tagsetter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/tagstatistics.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/testcase.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/testsuite.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/totalstatistics.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/visitor.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/dotted.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/highlighting.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/quiet.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/verbose.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/debugfile.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/filelogger.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/librarylogger.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/listeners.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/logger.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/loggerapi.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/loggerhelper.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/output.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/pyloggingconf.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/stdoutlogsplitter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/blocklexers.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/context.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/lexer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/settings.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/statementlexers.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/tokenizer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/tokens.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/blocks.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/statements.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/visitor.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/blockparsers.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/fileparser.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/parser.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/suitestructure.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/pythonpathsetter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/rebot.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jsbuildingcontext.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jsexecutionresult.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jsmodelbuilders.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jswriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/outputwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/resultwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/stringcache.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/xunitwriter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/configurer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/executionerrors.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/executionresult.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/flattenkeywordmatcher.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/keywordremover.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/merger.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/messagefilter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/modeldeprecation.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/resultbuilder.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/suiteteardownfailed.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/visitor.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/xmlelementhandlers.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/run.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentconverter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentmapper.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentparser.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentspec.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentvalidator.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/customconverters.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/embedded.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typevalidator.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/builders.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/parsers.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/settings.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/context.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/dynamicmethods.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/importer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/keywordfinder.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/keywordimplementation.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/librarykeywordrunner.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/libraryscopes.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/outputcapture.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/randomizer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/runkwregister.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/signalhandler.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/status.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/statusreporter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/suiterunner.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/testlibraries.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/timeouts/posix.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/timeouts/windows.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/testdoc.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/application.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/argumentparser.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/asserts.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/charwidth.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/compress.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/connectioncache.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/dotdict.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/encoding.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/encodingsniffer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/error.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/escaping.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/etreewrapper.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/filereader.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/frange.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/htmlformatters.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/importer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/markuputils.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/markupwriters.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/match.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/normalizing.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/platform.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/recommendations.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/restreader.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotenv.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotinspect.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotio.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotpath.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robottime.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robottypes.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/setter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/sortable.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/text.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/typehints.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/unic.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/__init__.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/assigner.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/evaluation.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/filesetter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/finders.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/notfound.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/replacer.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/resolvable.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/scopes.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/search.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/store.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/tablesetter.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/variables.py +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/dependency_links.txt +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/entry_points.txt +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/top_level.txt +0 -0
- {robotframework-7.0rc2 → robotframework-7.0.1}/tasks.py +0 -0
|
@@ -28,13 +28,13 @@ is having Python or its alternative implementation `PyPy <https://pypy.org>`_
|
|
|
28
28
|
installed. Another recommended precondition is having the pip_ package manager
|
|
29
29
|
available.
|
|
30
30
|
|
|
31
|
-
Robot Framework requires Python 3.
|
|
31
|
+
Robot Framework requires Python 3.8 or newer. The latest version that supports
|
|
32
|
+
Python 3.6 and 3.7 is `Robot Framework 6.1.1`__. If you need to use Python 2,
|
|
32
33
|
`Jython <http://jython.org>`_ or `IronPython <http://ironpython.net>`_,
|
|
33
34
|
you can use `Robot Framework 4.1.3`__.
|
|
34
|
-
The forthcoming Robot Framework 7.0 will require `Python 3.8 or newer`__.
|
|
35
35
|
|
|
36
|
+
__ https://github.com/robotframework/robotframework/blob/v6.1.1/INSTALL.rst
|
|
36
37
|
__ https://github.com/robotframework/robotframework/blob/v4.1.3/INSTALL.rst
|
|
37
|
-
__ https://github.com/robotframework/robotframework/issues/4294
|
|
38
38
|
|
|
39
39
|
Installing Python on Linux
|
|
40
40
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
@@ -47,10 +47,10 @@ Python version than the one provided by your distribution by default.
|
|
|
47
47
|
To check what Python version you have installed, you can run `python --version`
|
|
48
48
|
command in a terminal:
|
|
49
49
|
|
|
50
|
-
..
|
|
50
|
+
.. code:: bash
|
|
51
51
|
|
|
52
52
|
$ python --version
|
|
53
|
-
Python 3.
|
|
53
|
+
Python 3.10.13
|
|
54
54
|
|
|
55
55
|
Notice that if your distribution provides also older Python 2, running `python`
|
|
56
56
|
may use that. To use Python 3, you can use `python3` command or even more version
|
|
@@ -58,12 +58,12 @@ specific command like `python3.8`. You need to use these version specific varian
|
|
|
58
58
|
also if you have multiple Python 3 versions installed and need to pinpoint which
|
|
59
59
|
one to use:
|
|
60
60
|
|
|
61
|
-
..
|
|
61
|
+
.. code:: bash
|
|
62
62
|
|
|
63
|
-
$ python3.
|
|
64
|
-
Python 3.
|
|
65
|
-
$ python3.
|
|
66
|
-
Python 3.
|
|
63
|
+
$ python3.11 --version
|
|
64
|
+
Python 3.11.7
|
|
65
|
+
$ python3.12 --version
|
|
66
|
+
Python 3.12.1
|
|
67
67
|
|
|
68
68
|
Installing Robot Framework directly under the system provided Python
|
|
69
69
|
has a risk that possible problems can affect the whole Python installation
|
|
@@ -89,21 +89,21 @@ to select the `Add Python 3.x to PATH` checkbox on the first dialog.
|
|
|
89
89
|
To make sure Python installation has been successful and Python has been
|
|
90
90
|
added to `PATH`, you can open the command prompt and execute `python --version`:
|
|
91
91
|
|
|
92
|
-
..
|
|
92
|
+
.. code:: batch
|
|
93
93
|
|
|
94
94
|
C:\>python --version
|
|
95
|
-
Python 3.9
|
|
95
|
+
Python 3.10.9
|
|
96
96
|
|
|
97
97
|
If you install multiple Python versions on Windows, the version that is used
|
|
98
98
|
when you execute `python` is the one first in `PATH`. If you need to use others,
|
|
99
99
|
the easiest way is using the `py launcher`__:
|
|
100
100
|
|
|
101
|
-
..
|
|
101
|
+
.. code:: batch
|
|
102
102
|
|
|
103
103
|
C:\>py --version
|
|
104
|
-
Python 3.9
|
|
105
|
-
C:\>py -3.
|
|
106
|
-
Python 3.
|
|
104
|
+
Python 3.10.9
|
|
105
|
+
C:\>py -3.12 --version
|
|
106
|
+
Python 3.12.1
|
|
107
107
|
|
|
108
108
|
__ https://docs.python.org/3/using/windows.html
|
|
109
109
|
__ https://docs.python.org/3/using/windows.html#windows-full
|
|
@@ -200,21 +200,21 @@ To make sure you have pip available, you can run `pip --version` or equivalent.
|
|
|
200
200
|
|
|
201
201
|
Examples on Linux:
|
|
202
202
|
|
|
203
|
-
..
|
|
203
|
+
.. code:: bash
|
|
204
204
|
|
|
205
205
|
$ pip --version
|
|
206
|
-
pip
|
|
207
|
-
$ python3.
|
|
208
|
-
pip
|
|
206
|
+
pip 23.2.1 from ... (python 3.10)
|
|
207
|
+
$ python3.12 -m pip --version
|
|
208
|
+
pip 23.3.1 from ... (python 3.12)
|
|
209
209
|
|
|
210
210
|
Examples on Windows:
|
|
211
211
|
|
|
212
|
-
..
|
|
212
|
+
.. code:: batch
|
|
213
213
|
|
|
214
214
|
C:\> pip --version
|
|
215
|
-
pip
|
|
216
|
-
C:\> py -m 3.
|
|
217
|
-
pip
|
|
215
|
+
pip 23.2.1 from ... (python 3.10)
|
|
216
|
+
C:\> py -m 3.12 -m pip --version
|
|
217
|
+
pip 23.3.2 from ... (python 3.12)
|
|
218
218
|
|
|
219
219
|
In the subsequent sections pip is always run using the `pip` command. You may
|
|
220
220
|
need to use some of the other approaches explained above in your environment.
|
|
@@ -229,7 +229,7 @@ shown below and pip_ documentation has more information and examples.
|
|
|
229
229
|
|
|
230
230
|
__ PyPI_
|
|
231
231
|
|
|
232
|
-
..
|
|
232
|
+
.. code:: bash
|
|
233
233
|
|
|
234
234
|
# Install the latest version (does not upgrade)
|
|
235
235
|
pip install robotframework
|
|
@@ -241,10 +241,10 @@ __ PyPI_
|
|
|
241
241
|
pip install --upgrade --pre robotframework
|
|
242
242
|
|
|
243
243
|
# Install a specific version
|
|
244
|
-
pip install robotframework==
|
|
244
|
+
pip install robotframework==7.0
|
|
245
245
|
|
|
246
246
|
# Install separately downloaded package (no network connection needed)
|
|
247
|
-
pip install robotframework-
|
|
247
|
+
pip install robotframework-7.0-py3-none-any.whl
|
|
248
248
|
|
|
249
249
|
# Install latest (possibly unreleased) code directly from GitHub
|
|
250
250
|
pip install https://github.com/robotframework/robotframework/archive/master.zip
|
|
@@ -265,7 +265,7 @@ repository and checking out the needed release tag.
|
|
|
265
265
|
|
|
266
266
|
Once you have the source code, you can install it with the following command:
|
|
267
267
|
|
|
268
|
-
..
|
|
268
|
+
.. code:: bash
|
|
269
269
|
|
|
270
270
|
python setup.py install
|
|
271
271
|
|
|
@@ -280,10 +280,10 @@ Verifying installation
|
|
|
280
280
|
To make sure that the correct Robot Framework version has been installed, run
|
|
281
281
|
the following command:
|
|
282
282
|
|
|
283
|
-
..
|
|
283
|
+
.. code:: bash
|
|
284
284
|
|
|
285
285
|
$ robot --version
|
|
286
|
-
Robot Framework
|
|
286
|
+
Robot Framework 7.0 (Python 3.10.3 on linux)
|
|
287
287
|
|
|
288
288
|
If running these commands fails with a message saying that the command is
|
|
289
289
|
not found or recognized, a good first step is double-checking the PATH_
|
|
@@ -294,13 +294,13 @@ running `robot` will execute the one first in PATH_. To select explicitly,
|
|
|
294
294
|
you can run `python -m robot` and substitute `python` with the right Python
|
|
295
295
|
version.
|
|
296
296
|
|
|
297
|
-
..
|
|
297
|
+
.. code:: bash
|
|
298
298
|
|
|
299
|
-
$ python3.
|
|
300
|
-
Robot Framework
|
|
299
|
+
$ python3.12 -m robot --version
|
|
300
|
+
Robot Framework 7.0 (Python 3.12.1 on linux)
|
|
301
301
|
|
|
302
|
-
C:\>py -3.
|
|
303
|
-
Robot Framework
|
|
302
|
+
C:\>py -3.11 -m robot --version
|
|
303
|
+
Robot Framework 7.0 (Python 3.11.7 on win32)
|
|
304
304
|
|
|
305
305
|
Virtual environments
|
|
306
306
|
--------------------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotframework
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.0.1
|
|
4
4
|
Summary: Generic automation framework for acceptance testing and robotic process automation (RPA)
|
|
5
5
|
Home-page: https://robotframework.org
|
|
6
6
|
Author: Pekka Klärck
|
|
@@ -10,7 +10,7 @@ Download-URL: https://pypi.org/project/robotframework
|
|
|
10
10
|
Project-URL: Source, https://github.com/robotframework/robotframework
|
|
11
11
|
Project-URL: Issue Tracker, https://github.com/robotframework/robotframework/issues
|
|
12
12
|
Project-URL: Documentation, https://robotframework.org/robotframework
|
|
13
|
-
Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.
|
|
13
|
+
Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.0.1.rst
|
|
14
14
|
Project-URL: Slack, http://slack.robotframework.org
|
|
15
15
|
Description: Robot Framework
|
|
16
16
|
===============
|
|
@@ -63,10 +63,12 @@ Description: Robot Framework
|
|
|
63
63
|
For more detailed installation instructions, including installing Python, see
|
|
64
64
|
`INSTALL.rst <https://github.com/robotframework/robotframework/blob/master/INSTALL.rst>`__.
|
|
65
65
|
|
|
66
|
-
Robot Framework requires Python 3.
|
|
66
|
+
Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
|
|
67
|
+
The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
|
|
67
68
|
If you need to use Python 2, `Jython <http://jython.org>`_ or
|
|
68
69
|
`IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
|
|
69
70
|
|
|
71
|
+
__ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
|
|
70
72
|
__ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
|
|
71
73
|
|
|
72
74
|
Example
|
|
@@ -49,10 +49,12 @@ you can simply run::
|
|
|
49
49
|
For more detailed installation instructions, including installing Python, see
|
|
50
50
|
`<INSTALL.rst>`__.
|
|
51
51
|
|
|
52
|
-
Robot Framework requires Python 3.
|
|
52
|
+
Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
|
|
53
|
+
The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
|
|
53
54
|
If you need to use Python 2, `Jython <http://jython.org>`_ or
|
|
54
55
|
`IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
|
|
55
56
|
|
|
57
|
+
__ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
|
|
56
58
|
__ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
|
|
57
59
|
|
|
58
60
|
Example
|
|
@@ -6,7 +6,7 @@ from setuptools import find_packages, setup
|
|
|
6
6
|
|
|
7
7
|
# Version number typically updated by running `invoke set-version <version>`.
|
|
8
8
|
# Run `invoke --help set-version` or see tasks.py for details.
|
|
9
|
-
VERSION = '7.
|
|
9
|
+
VERSION = '7.0.1'
|
|
10
10
|
with open(join(dirname(abspath(__file__)), 'README.rst')) as f:
|
|
11
11
|
LONG_DESCRIPTION = f.read()
|
|
12
12
|
base_url = 'https://github.com/robotframework/robotframework/blob/master'
|
|
@@ -422,7 +422,7 @@ class VariablesAttributes(TypedDict):
|
|
|
422
422
|
|
|
423
423
|
|
|
424
424
|
class ListenerV2:
|
|
425
|
-
"""Optional base class for listeners using the listener API
|
|
425
|
+
"""Optional base class for listeners using the listener API version 2."""
|
|
426
426
|
ROBOT_LISTENER_API_VERSION = 2
|
|
427
427
|
|
|
428
428
|
def start_suite(self, name: str, attributes: StartSuiteAttributes):
|
|
@@ -501,7 +501,7 @@ class ListenerV2:
|
|
|
501
501
|
|
|
502
502
|
|
|
503
503
|
class ListenerV3:
|
|
504
|
-
"""Optional base class for listeners using the listener API
|
|
504
|
+
"""Optional base class for listeners using the listener API version 3."""
|
|
505
505
|
ROBOT_LISTENER_API_VERSION = 3
|
|
506
506
|
|
|
507
507
|
def start_suite(self, data: running.TestSuite, result: result.TestSuite):
|
|
@@ -519,10 +519,12 @@ class ListenerV3:
|
|
|
519
519
|
def start_keyword(self, data: running.Keyword, result: result.Keyword):
|
|
520
520
|
"""Called when a keyword starts by default.
|
|
521
521
|
|
|
522
|
-
|
|
522
|
+
This method is called, by default, with user keywords, library keywords
|
|
523
|
+
and when a keyword call is invalid. It is not called, however, if a more
|
|
524
|
+
specific :meth:`start_user_keyword`, :meth:`start_library_keyword` or
|
|
525
|
+
:meth:`start_invalid_keyword` method is implemented.
|
|
523
526
|
|
|
524
|
-
|
|
525
|
-
:meth:`start_invalid_keyword`.
|
|
527
|
+
The default implementation calls :meth:`start_body_item`.
|
|
526
528
|
|
|
527
529
|
New in Robot Framework 7.0.
|
|
528
530
|
"""
|
|
@@ -531,10 +533,12 @@ class ListenerV3:
|
|
|
531
533
|
def end_keyword(self, data: running.Keyword, result: result.Keyword):
|
|
532
534
|
"""Called when a keyword ends by default.
|
|
533
535
|
|
|
534
|
-
|
|
536
|
+
This method is called, by default, with user keywords, library keywords
|
|
537
|
+
and when a keyword call is invalid. It is not called, however, if a more
|
|
538
|
+
specific :meth:`end_user_keyword`, :meth:`end_library_keyword` or
|
|
539
|
+
:meth:`end_invalid_keyword` method is implemented.
|
|
535
540
|
|
|
536
|
-
|
|
537
|
-
:meth:`end_invalid_keyword`.
|
|
541
|
+
The default implementation calls :meth:`end_body_item`.
|
|
538
542
|
|
|
539
543
|
New in Robot Framework 7.0.
|
|
540
544
|
"""
|
|
@@ -590,7 +594,7 @@ class ListenerV3:
|
|
|
590
594
|
"""Called when an invalid keyword call starts.
|
|
591
595
|
|
|
592
596
|
Keyword may not have been found, there could have been multiple matches,
|
|
593
|
-
or the keyword itself could
|
|
597
|
+
or the keyword call itself could have been invalid.
|
|
594
598
|
|
|
595
599
|
The default implementation calls :meth:`start_keyword`.
|
|
596
600
|
|
|
@@ -604,7 +608,7 @@ class ListenerV3:
|
|
|
604
608
|
"""Called when an invalid keyword call ends.
|
|
605
609
|
|
|
606
610
|
Keyword may not have been found, there could have been multiple matches,
|
|
607
|
-
or the keyword itself could
|
|
611
|
+
or the keyword call itself could have been invalid.
|
|
608
612
|
|
|
609
613
|
The default implementation calls :meth:`end_keyword`.
|
|
610
614
|
|
|
@@ -1255,3 +1255,48 @@ class Vi(Language):
|
|
|
1255
1255
|
but_prefixes = ['Nhưng']
|
|
1256
1256
|
true_strings = ['Đúng', 'Vâng', 'Mở']
|
|
1257
1257
|
false_strings = ['Sai', 'Không', 'Tắt', 'Không Có Gì']
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
class Ja(Language):
|
|
1261
|
+
"""Japanese
|
|
1262
|
+
|
|
1263
|
+
New in Robot Framework 7.0.1.
|
|
1264
|
+
"""
|
|
1265
|
+
settings_header = '設定'
|
|
1266
|
+
variables_header = '変数'
|
|
1267
|
+
test_cases_header = 'テスト ケース'
|
|
1268
|
+
tasks_header = 'タスク'
|
|
1269
|
+
keywords_header = 'キーワード'
|
|
1270
|
+
comments_header = 'コメント'
|
|
1271
|
+
library_setting = 'ライブラリ'
|
|
1272
|
+
resource_setting = 'リソース'
|
|
1273
|
+
variables_setting = '変数'
|
|
1274
|
+
name_setting = '名前'
|
|
1275
|
+
documentation_setting = 'ドキュメント'
|
|
1276
|
+
metadata_setting = 'メタデータ'
|
|
1277
|
+
suite_setup_setting = 'スイート セットアップ'
|
|
1278
|
+
suite_teardown_setting = 'スイート ティアダウン'
|
|
1279
|
+
test_setup_setting = 'テスト セットアップ'
|
|
1280
|
+
task_setup_setting = 'タスク セットアップ'
|
|
1281
|
+
test_teardown_setting = 'テスト ティアダウン'
|
|
1282
|
+
task_teardown_setting = 'タスク ティアダウン'
|
|
1283
|
+
test_template_setting = 'テスト テンプレート'
|
|
1284
|
+
task_template_setting = 'タスク テンプレート'
|
|
1285
|
+
test_timeout_setting = 'テスト タイムアウト'
|
|
1286
|
+
task_timeout_setting = 'タスク タイムアウト'
|
|
1287
|
+
test_tags_setting = 'テスト タグ'
|
|
1288
|
+
task_tags_setting = 'タスク タグ'
|
|
1289
|
+
keyword_tags_setting = 'キーワード タグ'
|
|
1290
|
+
setup_setting = 'セットアップ'
|
|
1291
|
+
teardown_setting = 'ティアダウン'
|
|
1292
|
+
template_setting = 'テンプレート'
|
|
1293
|
+
tags_setting = 'タグ'
|
|
1294
|
+
timeout_setting = 'タイムアウト'
|
|
1295
|
+
arguments_setting = '引数'
|
|
1296
|
+
given_prefixes = ['仮定', '指定', '前提条件']
|
|
1297
|
+
when_prefixes = ['条件', '次の場合', 'もし', '実行条件']
|
|
1298
|
+
then_prefixes = ['アクション', 'その時', '動作']
|
|
1299
|
+
and_prefixes = ['および', '及び', 'かつ', '且つ', 'ならびに', '並びに', 'そして', 'それから']
|
|
1300
|
+
but_prefixes = ['ただし', '但し']
|
|
1301
|
+
true_strings = ['真', '有効', 'はい', 'オン']
|
|
1302
|
+
false_strings = ['偽', '無効', 'いいえ', 'オフ']
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
--link-color: #15c;
|
|
7
7
|
--link-hover-color: #61c;
|
|
8
8
|
--highlight-color: #eee;
|
|
9
|
+
--target-color: #f9f9f9;
|
|
9
10
|
--pass-color: #97bd61;
|
|
10
11
|
--fail-color: #ce3e01;
|
|
11
12
|
--warn-color: #fed84f;
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
--link-color: #8cc4ff;
|
|
29
30
|
--link-hover-color: #bb86fc;
|
|
30
31
|
--highlight-color: #002b36;
|
|
32
|
+
--target-color: #1a252e;
|
|
31
33
|
--pass-link-color: #97bd61;
|
|
32
34
|
--warn-link-color: #fed84f;
|
|
33
35
|
--fail-link-color: #ff9b8f;
|
|
@@ -343,3 +345,18 @@ th.stats-col-graph:hover {
|
|
|
343
345
|
[data-theme="light"] .dark-mode-icon {
|
|
344
346
|
display: block;
|
|
345
347
|
}
|
|
348
|
+
|
|
349
|
+
@keyframes highlight {
|
|
350
|
+
0% {
|
|
351
|
+
background: var(--primary-color)
|
|
352
|
+
}
|
|
353
|
+
100% {
|
|
354
|
+
background: var(--target-color);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
:target {
|
|
359
|
+
background: var(--target-color);
|
|
360
|
+
transition: background 0.3s;
|
|
361
|
+
animation: highlight 4s;
|
|
362
|
+
}
|
|
@@ -91,31 +91,6 @@ function drawErrorsRecursively(errors, target) {
|
|
|
91
91
|
// Errors may have moved scroll position. Resetting location re-scrolls.
|
|
92
92
|
if (window.location.hash)
|
|
93
93
|
window.location.replace(window.location.hash);
|
|
94
|
-
highlightLinkTarget();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function highlightLinkTarget() {
|
|
99
|
-
if (window.location.hash) {
|
|
100
|
-
var target = $(window.location.hash);
|
|
101
|
-
highlight(target);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function highlight(element, color) {
|
|
106
|
-
var darkMode = theme.getPreference() === 'dark';
|
|
107
|
-
var startingColor = darkMode ? 52 : 242;
|
|
108
|
-
var endingColor = darkMode ? 39 : 255;
|
|
109
|
-
|
|
110
|
-
if (color === undefined)
|
|
111
|
-
color = startingColor;
|
|
112
|
-
|
|
113
|
-
if (color > endingColor) {
|
|
114
|
-
element.css({'background-color': 'rgb('+color+','+color+','+color+')'});
|
|
115
|
-
color = darkMode ? color - 2 : color + 2;
|
|
116
|
-
setTimeout(function () { highlight(element, color); }, 300);
|
|
117
|
-
} else {
|
|
118
|
-
element.css({'background-color': ''});
|
|
119
94
|
}
|
|
120
95
|
}
|
|
121
96
|
|
|
@@ -133,7 +108,6 @@ function makeElementVisible(id) {
|
|
|
133
108
|
expandFailed(window.testdata.findLoaded(util.last(ids)));
|
|
134
109
|
window.location.hash = id;
|
|
135
110
|
document.getElementById(id).scrollIntoView();
|
|
136
|
-
highlightLinkTarget();
|
|
137
111
|
}
|
|
138
112
|
});
|
|
139
113
|
}
|
|
@@ -109,7 +109,7 @@ class JsonDocBuilder:
|
|
|
109
109
|
if data.get('typedoc'):
|
|
110
110
|
type_docs[data['name']] = data['typedoc']
|
|
111
111
|
nested = [self._parse_type_info(typ, type_docs) for typ in data.get('nested', ())]
|
|
112
|
-
return TypeInfo(data['name'], None, nested=nested)
|
|
112
|
+
return TypeInfo(data['name'], None, nested=nested or None)
|
|
113
113
|
|
|
114
114
|
def _parse_legacy_type_info(self, types):
|
|
115
115
|
return TypeInfo.from_sequence(types) if types else None
|
|
@@ -212,5 +212,5 @@ class KeywordDoc(Sortable):
|
|
|
212
212
|
return None
|
|
213
213
|
return {'name': type.name,
|
|
214
214
|
'typedoc': type_docs.get(type.name),
|
|
215
|
-
'nested': [self._type_to_dict(t, type_docs) for t in type.nested],
|
|
215
|
+
'nested': [self._type_to_dict(t, type_docs) for t in type.nested or ()],
|
|
216
216
|
'union': type.is_union}
|
|
@@ -119,7 +119,7 @@ class XmlDocBuilder:
|
|
|
119
119
|
type_docs[name] = type_elem.get('typedoc')
|
|
120
120
|
nested = [self._parse_type_info(child, type_docs)
|
|
121
121
|
for child in type_elem.findall('type')]
|
|
122
|
-
return TypeInfo(name, None, nested=nested)
|
|
122
|
+
return TypeInfo(name, None, nested=nested or None)
|
|
123
123
|
|
|
124
124
|
def _parse_legacy_type_info(self, type_elems, type_docs):
|
|
125
125
|
types = []
|
|
@@ -17,6 +17,7 @@ import difflib
|
|
|
17
17
|
import re
|
|
18
18
|
import time
|
|
19
19
|
from collections import OrderedDict
|
|
20
|
+
from collections.abc import Sequence
|
|
20
21
|
|
|
21
22
|
from robot.api import logger, SkipExecution
|
|
22
23
|
from robot.api.deco import keyword
|
|
@@ -1540,12 +1541,15 @@ class _Variables(_BuiltInBase):
|
|
|
1540
1541
|
value = variables[name]
|
|
1541
1542
|
try:
|
|
1542
1543
|
if name[0] == '@':
|
|
1543
|
-
|
|
1544
|
+
if isinstance(value, Sequence):
|
|
1545
|
+
value = list(value)
|
|
1546
|
+
else: # Don't consume iterables.
|
|
1547
|
+
name = '$' + name[1:]
|
|
1544
1548
|
if name[0] == '&':
|
|
1545
1549
|
value = OrderedDict(value)
|
|
1546
1550
|
except RERAISED_EXCEPTIONS:
|
|
1547
1551
|
raise
|
|
1548
|
-
except:
|
|
1552
|
+
except Exception:
|
|
1549
1553
|
name = '$' + name[1:]
|
|
1550
1554
|
return name, value
|
|
1551
1555
|
|
|
@@ -3219,12 +3223,12 @@ class _Misc(_BuiltInBase):
|
|
|
3219
3223
|
operating systems.
|
|
3220
3224
|
|
|
3221
3225
|
It is possible to pass arguments to the imported library and also
|
|
3222
|
-
named argument syntax works if the library supports it. ``
|
|
3226
|
+
named argument syntax works if the library supports it. ``AS``
|
|
3223
3227
|
syntax can be used to give a custom name to the imported library.
|
|
3224
3228
|
|
|
3225
3229
|
Examples:
|
|
3226
3230
|
| Import Library | MyLibrary |
|
|
3227
|
-
| Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 |
|
|
3231
|
+
| Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 | AS | Custom |
|
|
3228
3232
|
"""
|
|
3229
3233
|
args, alias = self._split_alias(args)
|
|
3230
3234
|
try:
|
|
@@ -18,12 +18,15 @@ from ast import literal_eval
|
|
|
18
18
|
from itertools import chain
|
|
19
19
|
|
|
20
20
|
from robot.api import logger
|
|
21
|
-
from robot.utils import (
|
|
22
|
-
|
|
21
|
+
from robot.utils import (is_dict_like, is_list_like, Matcher, NotSet,
|
|
22
|
+
plural_or_not as s, seq2str, seq2str2, type_name)
|
|
23
23
|
from robot.utils.asserts import assert_equal
|
|
24
24
|
from robot.version import get_version
|
|
25
25
|
|
|
26
26
|
|
|
27
|
+
NOT_SET = NotSet()
|
|
28
|
+
|
|
29
|
+
|
|
27
30
|
class _List:
|
|
28
31
|
|
|
29
32
|
def convert_to_list(self, item):
|
|
@@ -1124,7 +1127,6 @@ def _report_error(default_message, message, values=False):
|
|
|
1124
1127
|
class Normalizer:
|
|
1125
1128
|
|
|
1126
1129
|
def __init__(self, ignore_case=False, ignore_order=False, ignore_keys=None):
|
|
1127
|
-
print(ignore_case)
|
|
1128
1130
|
self.ignore_case = ignore_case
|
|
1129
1131
|
if isinstance(ignore_case, str):
|
|
1130
1132
|
self.ignore_key_case = ignore_case.upper() not in ('VALUE', 'VALUES')
|
|
@@ -644,9 +644,9 @@ class String:
|
|
|
644
644
|
|
|
645
645
|
Examples:
|
|
646
646
|
| ${ignore first} = | Get Substring | ${string} | 1 | |
|
|
647
|
-
| ${ignore last} = | Get Substring | ${string} |
|
|
647
|
+
| ${ignore last} = | Get Substring | ${string} | 0 | -1 |
|
|
648
648
|
| ${5th to 10th} = | Get Substring | ${string} | 4 | 10 |
|
|
649
|
-
| ${first two} = | Get Substring | ${string} |
|
|
649
|
+
| ${first two} = | Get Substring | ${string} | 0 | 1 |
|
|
650
650
|
| ${last two} = | Get Substring | ${string} | -2 | |
|
|
651
651
|
"""
|
|
652
652
|
start = self._convert_to_index(start, 'start')
|
|
@@ -94,8 +94,6 @@ class XML:
|
|
|
94
94
|
escaped by doubling it (``\\\\``). Using the built-in variable ``${/}``
|
|
95
95
|
naturally works too.
|
|
96
96
|
|
|
97
|
-
Note: Support for XML as bytes is new in Robot Framework 3.2.
|
|
98
|
-
|
|
99
97
|
= Using lxml =
|
|
100
98
|
|
|
101
99
|
By default, this library uses Python's standard
|
|
@@ -432,8 +430,6 @@ class XML:
|
|
|
432
430
|
| `Parse XML` | ${XML} | keep_clark_notation=${EMPTY} | # Empty string is false. |
|
|
433
431
|
| `Parse XML` | ${XML} | keep_clark_notation=${FALSE} | # Python ``False`` is false. |
|
|
434
432
|
|
|
435
|
-
Considering ``OFF`` and ``0`` false is new in Robot Framework 3.1.
|
|
436
|
-
|
|
437
433
|
== Pattern matching ==
|
|
438
434
|
|
|
439
435
|
Some keywords, for example `Elements Should Match`, support so called
|
|
@@ -449,9 +445,6 @@ class XML:
|
|
|
449
445
|
Unlike with glob patterns normally, path separator characters ``/`` and
|
|
450
446
|
``\\`` and the newline character ``\\n`` are matches by the above
|
|
451
447
|
wildcards.
|
|
452
|
-
|
|
453
|
-
Support for brackets like ``[abc]`` and ``[!a-z]`` is new in
|
|
454
|
-
Robot Framework 3.1
|
|
455
448
|
"""
|
|
456
449
|
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
|
|
457
450
|
ROBOT_LIBRARY_VERSION = get_version()
|
|
@@ -1316,6 +1309,8 @@ class XML:
|
|
|
1316
1309
|
See also `Log Element` and `Save XML`.
|
|
1317
1310
|
"""
|
|
1318
1311
|
source = self.get_element(source, xpath)
|
|
1312
|
+
if self.lxml_etree:
|
|
1313
|
+
source = self._ns_stripper.unstrip(source)
|
|
1319
1314
|
string = self.etree.tostring(source, encoding='UTF-8').decode('UTF-8')
|
|
1320
1315
|
string = re.sub(r'^<\?xml .*\?>', '', string).strip()
|
|
1321
1316
|
if encoding:
|
|
@@ -26,9 +26,8 @@ class TkDialog(Toplevel):
|
|
|
26
26
|
|
|
27
27
|
def __init__(self, message, value=None, **config):
|
|
28
28
|
self._prevent_execution_with_timeouts()
|
|
29
|
-
self.root = self._get_root()
|
|
30
29
|
self._button_bindings = {}
|
|
31
|
-
super().__init__(self.
|
|
30
|
+
super().__init__(self._get_root())
|
|
32
31
|
self._initialize_dialog()
|
|
33
32
|
self.widget = self._create_body(message, value, **config)
|
|
34
33
|
self._create_buttons()
|
|
@@ -109,8 +108,8 @@ class TkDialog(Toplevel):
|
|
|
109
108
|
return None
|
|
110
109
|
|
|
111
110
|
def _close(self, event=None):
|
|
112
|
-
|
|
113
|
-
self.
|
|
111
|
+
self.destroy()
|
|
112
|
+
self.update() # Needed on linux to close the window (Issue #1466)
|
|
114
113
|
|
|
115
114
|
def _right_button_clicked(self, event=None):
|
|
116
115
|
self._result = self._get_right_button_value()
|
|
@@ -31,7 +31,7 @@ from .control import (Break, Continue, Error, For, ForIteration, If, IfBranch,
|
|
|
31
31
|
Return, Try, TryBranch, Var, While, WhileIteration)
|
|
32
32
|
from .fixture import create_fixture
|
|
33
33
|
from .itemlist import ItemList
|
|
34
|
-
from .keyword import
|
|
34
|
+
from .keyword import Keyword
|
|
35
35
|
from .message import Message, MessageLevel, Messages
|
|
36
36
|
from .modelobject import DataDict, ModelObject
|
|
37
37
|
from .modifier import ModelModifier
|
|
@@ -73,7 +73,7 @@ class SuiteConfigurer(SuiteVisitor):
|
|
|
73
73
|
parts = []
|
|
74
74
|
for separator, explanation, selectors in [
|
|
75
75
|
(None, 'matching name', self.include_tests),
|
|
76
|
-
('
|
|
76
|
+
('and', 'matching tags', self.include_tags),
|
|
77
77
|
('and', 'not matching tags', self.exclude_tags)
|
|
78
78
|
]:
|
|
79
79
|
if selectors:
|
|
@@ -84,7 +84,7 @@ class Filter(EmptySuiteRemover):
|
|
|
84
84
|
suite.start_time = suite.end_time = suite.elapsed_time = None
|
|
85
85
|
if self.include_suites is not None:
|
|
86
86
|
return self._filter_based_on_suite_name(suite)
|
|
87
|
-
|
|
87
|
+
self._filter_tests(suite)
|
|
88
88
|
return bool(suite.suites)
|
|
89
89
|
|
|
90
90
|
def _filter_based_on_suite_name(self, suite: 'TestSuite') -> bool:
|
|
@@ -96,16 +96,16 @@ class Filter(EmptySuiteRemover):
|
|
|
96
96
|
suite.tests = []
|
|
97
97
|
return True
|
|
98
98
|
|
|
99
|
-
def
|
|
99
|
+
def _filter_tests(self, suite: 'TestSuite'):
|
|
100
100
|
tests, include, exclude \
|
|
101
101
|
= self.include_tests, self.include_tags, self.exclude_tags
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
102
|
+
t: TestCase
|
|
103
|
+
if tests is not None:
|
|
104
|
+
suite.tests = [t for t in suite.tests if tests.match(t.name, t.full_name)]
|
|
105
|
+
if include is not None:
|
|
106
|
+
suite.tests = [t for t in suite.tests if include.match(t.tags)]
|
|
107
|
+
if exclude is not None:
|
|
108
|
+
suite.tests = [t for t in suite.tests if not exclude.match(t.tags)]
|
|
109
109
|
|
|
110
110
|
def __bool__(self) -> bool:
|
|
111
111
|
return bool(self.include_suites is not None or
|