robotframework 7.0rc3__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.0rc3 → robotframework-7.0.1}/INSTALL.rst +35 -35
- {robotframework-7.0rc3/src/robotframework.egg-info → robotframework-7.0.1}/PKG-INFO +5 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/README.rst +3 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/setup.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/interfaces.py +14 -10
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/languages.py +45 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/BuiltIn.py +2 -2
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Collections.py +5 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/dialogs_py.py +3 -4
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/__init__.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/configurer.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/filter.py +9 -9
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/keyword.py +2 -9
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/xmllogger.py +3 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/logreportwriters.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/model.py +2 -27
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/__init__.py +7 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentresolver.py +7 -15
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeconverters.py +11 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeinfo.py +34 -7
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/bodyrunner.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/transformers.py +3 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/invalidkeyword.py +5 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/librarykeyword.py +3 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/model.py +32 -28
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/namespace.py +4 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/resourcemodel.py +1 -1
- {robotframework-7.0rc3 → 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.0rc3 → robotframework-7.0.1}/src/robot/running/userkeywordrunner.py +2 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/__init__.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/notset.py +2 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/version.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1/src/robotframework.egg-info}/PKG-INFO +5 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/SOURCES.txt +1 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/AUTHORS.rst +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/BUILD.rst +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/CONTRIBUTING.rst +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/COPYRIGHT.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/LICENSE.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/MANIFEST.in +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/setup.cfg +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/__main__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/deco.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/exceptions.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/logger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/parsing.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/py.typed +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/gatherfailed.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/settings.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/errors.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/js_disabled.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/storage.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/htmlfilewriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/jsonwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/print.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/pygments.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/common.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/fileloading.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/model.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/print.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/testdata.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/util.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/view.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/template.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdoc.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/builder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/consoleviewer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/datatypes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/htmlutils.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/htmlwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/jsonbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/jsonwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/model.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/output.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/robotbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/standardtypes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/writer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/xmlbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/xmlwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/DateTime.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Dialogs.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Easter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/OperatingSystem.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Process.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Remote.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Screenshot.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/String.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Telnet.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/XML.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/body.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/control.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/fixture.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/itemlist.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/message.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/metadata.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/modelobject.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/modifier.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/namepatterns.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/statistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/stats.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/suitestatistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tags.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tagsetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tagstatistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/testcase.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/testsuite.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/totalstatistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/visitor.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/dotted.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/highlighting.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/quiet.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/verbose.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/debugfile.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/filelogger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/librarylogger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/listeners.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/logger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/loggerapi.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/loggerhelper.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/output.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/pyloggingconf.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/stdoutlogsplitter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/blocklexers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/context.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/lexer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/settings.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/statementlexers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/tokenizer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/tokens.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/blocks.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/statements.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/visitor.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/blockparsers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/fileparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/parser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/suitestructure.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/pythonpathsetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/rebot.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsbuildingcontext.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsexecutionresult.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsmodelbuilders.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jswriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/outputwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/resultwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/stringcache.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/xunitwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/configurer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/executionerrors.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/executionresult.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/flattenkeywordmatcher.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/keywordremover.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/merger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/messagefilter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/modeldeprecation.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/resultbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/suiteteardownfailed.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/visitor.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/xmlelementhandlers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/run.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentconverter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentmapper.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentspec.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentvalidator.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/customconverters.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/embedded.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeinfoparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typevalidator.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/builders.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/parsers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/settings.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/context.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/dynamicmethods.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/importer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/keywordfinder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/keywordimplementation.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/librarykeywordrunner.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/libraryscopes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/outputcapture.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/randomizer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/runkwregister.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/signalhandler.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/status.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/statusreporter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/suiterunner.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/testlibraries.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/posix.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/windows.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/testdoc.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/application.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/argumentparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/asserts.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/charwidth.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/compress.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/connectioncache.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/dotdict.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/encoding.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/encodingsniffer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/error.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/escaping.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/etreewrapper.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/filereader.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/frange.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/htmlformatters.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/importer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/markuputils.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/markupwriters.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/match.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/misc.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/normalizing.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/platform.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/recommendations.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/restreader.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotenv.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotinspect.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotio.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotpath.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robottime.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robottypes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/setter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/sortable.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/text.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/typehints.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/unic.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/assigner.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/evaluation.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/filesetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/finders.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/notfound.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/replacer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/resolvable.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/scopes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/search.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/store.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/tablesetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/variables.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/dependency_links.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/entry_points.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/top_level.txt +0 -0
- {robotframework-7.0rc3 → 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 = ['偽', '無効', 'いいえ', 'オフ']
|
|
@@ -3223,12 +3223,12 @@ class _Misc(_BuiltInBase):
|
|
|
3223
3223
|
operating systems.
|
|
3224
3224
|
|
|
3225
3225
|
It is possible to pass arguments to the imported library and also
|
|
3226
|
-
named argument syntax works if the library supports it. ``
|
|
3226
|
+
named argument syntax works if the library supports it. ``AS``
|
|
3227
3227
|
syntax can be used to give a custom name to the imported library.
|
|
3228
3228
|
|
|
3229
3229
|
Examples:
|
|
3230
3230
|
| Import Library | MyLibrary |
|
|
3231
|
-
| Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 |
|
|
3231
|
+
| Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 | AS | Custom |
|
|
3232
3232
|
"""
|
|
3233
3233
|
args, alias = self._split_alias(args)
|
|
3234
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')
|
|
@@ -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
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
|
-
from typing import
|
|
16
|
+
from typing import Sequence, TYPE_CHECKING
|
|
17
17
|
|
|
18
18
|
from .body import Body, BodyItem, BodyItemParent
|
|
19
19
|
from .modelobject import DataDict
|
|
@@ -22,25 +22,18 @@ if TYPE_CHECKING:
|
|
|
22
22
|
from .visitor import SuiteVisitor
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
Arguments = Union[Sequence[Union[Any, Tuple[Any], Tuple[str, Any]]],
|
|
26
|
-
Tuple[List[Any], Dict[str, Any]]]
|
|
27
|
-
|
|
28
|
-
|
|
29
25
|
@Body.register
|
|
30
26
|
class Keyword(BodyItem):
|
|
31
27
|
"""Base model for a single keyword.
|
|
32
28
|
|
|
33
29
|
Extended by :class:`robot.running.model.Keyword` and
|
|
34
30
|
:class:`robot.result.model.Keyword`.
|
|
35
|
-
|
|
36
|
-
Arguments from normal data are always strings, but other types are possible in
|
|
37
|
-
programmatic usage. See the docstrings of the extending classes for more details.
|
|
38
31
|
"""
|
|
39
32
|
repr_args = ('name', 'args', 'assign')
|
|
40
33
|
__slots__ = ['name', 'args', 'assign', 'type']
|
|
41
34
|
|
|
42
35
|
def __init__(self, name: 'str|None' = '',
|
|
43
|
-
args:
|
|
36
|
+
args: Sequence[str] = (),
|
|
44
37
|
assign: Sequence[str] = (),
|
|
45
38
|
type: str = BodyItem.KEYWORD,
|
|
46
39
|
parent: BodyItemParent = None):
|
|
@@ -217,7 +217,7 @@ class XmlLogger(ResultVisitor):
|
|
|
217
217
|
if self.flatten_level == 0:
|
|
218
218
|
self._writer = self._xml_writer
|
|
219
219
|
self._write_list('var', kw.assign)
|
|
220
|
-
self._write_list('arg', kw.args)
|
|
220
|
+
self._write_list('arg', [str(a) for a in kw.args])
|
|
221
221
|
self._write_list('tag', kw.tags)
|
|
222
222
|
self._writer.element('doc', kw.doc)
|
|
223
223
|
if kw.timeout:
|
|
@@ -429,6 +429,8 @@ class LegacyXmlLogger(XmlLogger):
|
|
|
429
429
|
'schemaversion': '4'}
|
|
430
430
|
|
|
431
431
|
def _datetime_to_timestamp(self, dt):
|
|
432
|
+
if dt is None:
|
|
433
|
+
return None
|
|
432
434
|
return dt.isoformat(' ', timespec='milliseconds').replace('-', '')
|
|
433
435
|
|
|
434
436
|
def _get_start_keyword_attrs(self, kw):
|
|
@@ -56,7 +56,7 @@ class LogWriter(_LogReportWriter):
|
|
|
56
56
|
def _write_split_log(self, index, keywords, strings, path: Path):
|
|
57
57
|
with file_writer(path, usage=self.usage) as outfile:
|
|
58
58
|
writer = SplitLogWriter(outfile)
|
|
59
|
-
writer.write(keywords, strings, index, path.
|
|
59
|
+
writer.write(keywords, strings, index, path.name)
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
class ReportWriter(_LogReportWriter):
|
|
@@ -43,7 +43,7 @@ from typing import Literal, Mapping, overload, Sequence, Union, TextIO, TypeVar
|
|
|
43
43
|
from robot import model
|
|
44
44
|
from robot.model import (BodyItem, create_fixture, DataDict, Tags, TestSuites,
|
|
45
45
|
TotalStatistics, TotalStatisticsBuilder)
|
|
46
|
-
from robot.utils import
|
|
46
|
+
from robot.utils import setter
|
|
47
47
|
|
|
48
48
|
from .configurer import SuiteConfigurer
|
|
49
49
|
from .messagefilter import MessageFilter
|
|
@@ -91,7 +91,6 @@ class Message(model.Message):
|
|
|
91
91
|
return data
|
|
92
92
|
|
|
93
93
|
|
|
94
|
-
|
|
95
94
|
class StatusMixin:
|
|
96
95
|
PASS = 'PASS'
|
|
97
96
|
FAIL = 'FAIL'
|
|
@@ -711,7 +710,7 @@ class Keyword(model.Keyword, StatusMixin):
|
|
|
711
710
|
owner: 'str|None' = None,
|
|
712
711
|
source_name: 'str|None' = None,
|
|
713
712
|
doc: str = '',
|
|
714
|
-
args:
|
|
713
|
+
args: Sequence[str] = (),
|
|
715
714
|
assign: Sequence[str] = (),
|
|
716
715
|
tags: Sequence[str] = (),
|
|
717
716
|
timeout: 'str|None' = None,
|
|
@@ -739,30 +738,6 @@ class Keyword(model.Keyword, StatusMixin):
|
|
|
739
738
|
self._teardown = None
|
|
740
739
|
self.body = ()
|
|
741
740
|
|
|
742
|
-
@setter
|
|
743
|
-
def args(self, args: model.Arguments) -> 'tuple[str, ...]':
|
|
744
|
-
"""Keyword arguments.
|
|
745
|
-
|
|
746
|
-
Arguments originating from normal data are given as a list of strings.
|
|
747
|
-
Programmatically it is possible to use also other types and named arguments
|
|
748
|
-
can be specified using name-value tuples. Additionally, it is possible
|
|
749
|
-
o give arguments directly as a list of positional arguments and a dictionary
|
|
750
|
-
of named arguments. In all these cases arguments are stored as strings.
|
|
751
|
-
"""
|
|
752
|
-
if len(args) == 2 and is_list_like(args[0]) and is_dict_like(args[1]):
|
|
753
|
-
positional = [str(a) for a in args[0]]
|
|
754
|
-
named = [f'{n}={v}' for n, v in args[1].items()]
|
|
755
|
-
return tuple(positional + named)
|
|
756
|
-
return tuple([a if isinstance(a, str) else self._arg_to_str(a) for a in args])
|
|
757
|
-
|
|
758
|
-
def _arg_to_str(self, arg):
|
|
759
|
-
if isinstance(arg, tuple):
|
|
760
|
-
if len(arg) == 2:
|
|
761
|
-
return f'{arg[0]}={arg[1]}'
|
|
762
|
-
if len(arg) == 1:
|
|
763
|
-
return str(arg[0])
|
|
764
|
-
return str(arg)
|
|
765
|
-
|
|
766
741
|
@setter
|
|
767
742
|
def body(self, body: 'Sequence[BodyItem|DataDict]') -> Body:
|
|
768
743
|
"""Possible keyword body as a :class:`~.Body` object.
|
|
@@ -32,6 +32,12 @@ The public API of this module consists of the following objects:
|
|
|
32
32
|
:mod:`robot.running.model` module. These classes are typically only needed
|
|
33
33
|
in type hints.
|
|
34
34
|
|
|
35
|
+
* Keyword implementation related classes :class:`~robot.running.resourcemodel.UserKeyword`,
|
|
36
|
+
:class:`~robot.running.librarykeyword.LibraryKeyword`,
|
|
37
|
+
:class:`~robot.running.invalidkeyword.InvalidKeyword` and their common base class
|
|
38
|
+
:class:`~robot.running.keywordimplementation.KeywordImplementation`. Also these
|
|
39
|
+
classes are mainly needed in type hints.
|
|
40
|
+
|
|
35
41
|
* :class:`~robot.running.builder.settings.TestDefaults` that is part of the
|
|
36
42
|
`external parsing API`__ and also typically needed only in type hints.
|
|
37
43
|
|
|
@@ -43,6 +49,7 @@ the :mod:`robot.api` package.
|
|
|
43
49
|
|
|
44
50
|
.. note:: Prior to Robot Framework 6.1, only some classes in
|
|
45
51
|
:mod:`robot.running.model` were exposed via :mod:`robot.running`.
|
|
52
|
+
Keyword implementation related classes are new in Robot Framework 7.0.
|
|
46
53
|
|
|
47
54
|
Examples
|
|
48
55
|
--------
|
{robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentresolver.py
RENAMED
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
from typing import TYPE_CHECKING
|
|
17
17
|
|
|
18
18
|
from robot.errors import DataError
|
|
19
|
-
from robot.utils import is_dict_like,
|
|
19
|
+
from robot.utils import is_dict_like, split_from_equals
|
|
20
20
|
from robot.variables import is_dict_variable
|
|
21
21
|
|
|
22
22
|
from .argumentvalidator import ArgumentValidator
|
|
23
|
+
from ..model import Argument
|
|
23
24
|
|
|
24
25
|
if TYPE_CHECKING:
|
|
25
26
|
from .argumentspec import ArgumentSpec
|
|
@@ -38,13 +39,9 @@ class ArgumentResolver:
|
|
|
38
39
|
self.argument_validator = ArgumentValidator(spec)
|
|
39
40
|
|
|
40
41
|
def resolve(self, arguments, variables=None):
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
else:
|
|
45
|
-
positional, named = self.named_resolver.resolve(arguments, variables)
|
|
46
|
-
positional, named = self.variable_replacer.replace(positional, named, variables)
|
|
47
|
-
positional, named = self.dict_to_kwargs.handle(positional, named)
|
|
42
|
+
positional, named = self.named_resolver.resolve(arguments, variables)
|
|
43
|
+
positional, named = self.variable_replacer.replace(positional, named, variables)
|
|
44
|
+
positional, named = self.dict_to_kwargs.handle(positional, named)
|
|
48
45
|
self.argument_validator.validate(positional, named, dryrun=variables is None)
|
|
49
46
|
return positional, named
|
|
50
47
|
|
|
@@ -72,13 +69,8 @@ class NamedArgumentResolver:
|
|
|
72
69
|
return positional, named
|
|
73
70
|
|
|
74
71
|
def _split_named(self, arg, previous_named, variables, spec):
|
|
75
|
-
if isinstance(arg,
|
|
76
|
-
|
|
77
|
-
return arg
|
|
78
|
-
elif len(arg) == 1:
|
|
79
|
-
return None, arg[0]
|
|
80
|
-
else:
|
|
81
|
-
return None, arg
|
|
72
|
+
if isinstance(arg, Argument):
|
|
73
|
+
return arg.name, arg.value
|
|
82
74
|
name, value = split_from_equals(arg)
|
|
83
75
|
if value is None or not self._is_named(name, previous_named, variables, spec):
|
|
84
76
|
return None, arg
|