Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 无法基于Robot Framework表单cmd行中的标记运行测试用例_Python 3.x_Automated Tests_Robotframework_Execution - Fatal编程技术网

Python 3.x 无法基于Robot Framework表单cmd行中的标记运行测试用例

Python 3.x 无法基于Robot Framework表单cmd行中的标记运行测试用例,python-3.x,automated-tests,robotframework,execution,Python 3.x,Automated Tests,Robotframework,Execution,今天,我的机器人Runner.py突然不工作了。基本上Runner.py包含基于标记运行robot测试用例的命令行命令。 Evreytime运行Runner.py时,将执行requirements.txt文件,其中的所有库将由python intepreter安装 cmd="pip install -r Requirements.txt --trusted-host files.pythonhosted.org --user" os.system(cmd) 然后,pytho

今天,我的机器人Runner.py突然不工作了。基本上Runner.py包含基于标记运行robot测试用例的命令行命令。 Evreytime运行Runner.py时,将执行requirements.txt文件,其中的所有库将由python intepreter安装

cmd="pip install -r Requirements.txt --trusted-host files.pythonhosted.org --user"
os.system(cmd)
然后,python intepreter使用以下方法运行测试用例:

cmd="robot -i RunNow -d ../Output/Execution_%s -P ../CustomLibrary/  --extension robot ../TestSuite "%(dts)
os.system(cmd)
并使用以下方法生成报告:

cmd="python3 -m robotmetrics -R ExecutionMetrics -I ../Output/Execution_%s --logo  ../../Resources/logo.png  --ignorelib  ['OperatingSystem'] --ignoretype ['for']" %(dts)
os.system(cmd)
其中RunNow是我在测试用例中使用的标记,TestSuite是我的文件夹,其中包含我的.robot测试文件

直到昨天,所有这些命令都工作得很好,但今天它不工作了,我得到的第一个错误是

已满足要求:c:\users\kbhuva2\appdata\local\programs\python\python38\lib\site包中的filelock=3.0.0(来自virtualenv>=1.11.2->tox==3.0.0->robotframework jsonlibrary->-r Requirements.txt(第4行))(3.0.12) [错误]意外错误:ValueError:没有足够的值来解包(预期为3,实际为1) 回溯(最近一次呼叫最后一次): 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\utils\application.py”,第83行,在执行中 rc=self.main(参数,**选项) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\run.py”,主目录第433行 suite=builder.build(*数据源) 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\running\builder\builders.py”,第45行,内部版本 suite=parser.parse(结构) 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\running\builder\builders.py”,第93行,在parse中 结构.访问(自我) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\parsing\suitestructure.py”,第46行,访问 访问者.访问目录(self) 文件“c:\users\kbhuva2\appdata\local\programs\python 38\lib\site packages\robot\parsing\suitestructure.py”,第165行,在VISIST\U目录中 儿童访问(自我) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\parsing\suitestructure.py”,第46行,访问 访问者.访问目录(self) 文件“c:\users\kbhuva2\appdata\local\programs\python 38\lib\site packages\robot\parsing\suitestructure.py”,第165行,在VISIST\U目录中 儿童访问(自我) 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\parsing\suitestructure.py”,第44行,访问 访问者访问文件(self) 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\running\builder\builders.py”,第99行,在VISIST\U文件中 套件,u=self._构建u套件(结构) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\running\builder\builders.py”,第129行,在构建套件中 suite=parser.parse_suite_文件(源,默认值) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\running\builder\parsers.py”,第53行,在parse\u suite\u文件中 返回自生成(套件、源、默认值) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\running\builder\parsers.py”,第64行,在\u build中 model=get\u model(self.\u get\u source(source),data\u only=True, 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\parsing\parser\parser.py”,第45行,在get\U模型中 令牌=获取令牌(仅限源、数据) 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\parsing\lexer\lexer.py”,第46行,在get\U令牌中 lexer.input(源) 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\parsing\lexer\lexer.py”,第82行,输入 对于Tokenizer()中的语句。tokenize(self.\u read(source), 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\parsing\lexer\tokenizer.py”,第30行,标记化 tokens=self.\u标记化\u行(行、行号,而不仅仅是数据) 文件“c:\users\kbhuva2\appdata\local\programs\python38\lib\site packages\robot\parsing\lexer\tokenizer.py”,第49行,在标记化行 对于值,是拆分器中的_数据(rstrip(line)): 文件“c:\users\kbhuva2\appdata\local\programs\python\38\lib\site packages\robot\parsing\lexer\tokenizer.py”,第68行,在\u split\u from\u管道中 _,分隔符,rest=splitter.split(第1行) 缺少output.xml文件:C:\Users\kbhuva2\git\smartpra qaautomation\output\Execution\u 20200813\u 053058\output.xml

然后我尝试了pip freeze>file.txt来安装所有库,并通过命令卸载了所有库

cmd="pip uninstall -r file.txt"
os.system(cmd)
当我在命令提示符下运行runner.py文件时,它首先卸载file.txt中的所有库,然后安装Requirements.txt中的所有库,最后说

robot未被识别为内部或外部命令robotframework,robotmetrics未被识别为内部或外部命令robotframework

所以经过一些研究,我换了

cmd="robot -i RunNow -d ../Output/Execution_%s -P ../CustomLibrary/  --extension robot ../TestSuite "%(dts)

现在,在做了这些更改之后,我没有得到robot或robotmetrics没有被识别为内部或外部命令robotframework,但是**我的测试用例没有被提取到与标记相关的内容,实际上它只是在Requirements.txt中执行安装所有库的命令并停止

运行Runner.py后,我的命令提示符如下所示:

已满足要求:c:\users\kbhuva2\appdata\roaming\python38\site包中的RESTinstance(来自-r Requirements.txt(第1行))(1.0.2) 已满足要求:c:\users\kbhuva2\appdata\roaming\python\python38\site包中的robotframework(来自-r Requirements.txt(第2行))(3.2.1) 已满足要求:c:\users\kbhuva2\appdata\roaming\python\python38\site包中的robotframework度量(来自-r Requirements.txt(第3行))(3.1.6) 已满足要求:c:\users\kbhuva2\appdata\roaming\python\python38\site包中的robotframework jsonlibrary(来自-r Requirements.txt(lin
cmd="python3 -m robot -i RunNow -d ../Output/Execution_%s -P ../CustomLibrary/  --extension robot ../TestSuite "%(dts)
cmd="robotmetrics -R ExecutionMetrics -I ../Output/Execution_%s --logo  ../../Resources/logo.png  --ignorelib  ['OperatingSystem'] --ignoretype ['for']" %(dts)
cmd="python3 -m robotmetrics -R ExecutionMetrics -I ../Output/Execution_%s --logo  ../../Resources/logo.png  --ignorelib  ['OperatingSystem'] --ignoretype ['for']" %(dts)
RESTinstance
robotframework
robotframework-metrics
robotframework-jsonlibrary
robotframework-jsonvalidator
robotframework-seleniumlibrary
robotframework-databaselibrary
robotframework-dependencylibrary
robotframework-pabot
robotframework-datadriver
robotframework-csvlib
webdrivermanager
PyMySQL
pypyodbc
deepdiff
jsondiff
DateTimeRange
pypika
robotframework-excellib