Testing 在STAF/STAX中导入json

Testing 在STAF/STAX中导入json,testing,automation,automated-tests,staf,Testing,Automation,Automated Tests,Staf,我一直在从事STAF&STAX的工作。我的目标是使用STAF&STAX Return TestcasePASS或FAIL读取JSON文件。我尝试用最新的python版本将我的staf更新到最新版本 Python版本详细信息 20130408-15:38:19 Python Version : 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [Java HotSpot(TM) Client VM (Sun Microsystems Inc.

我一直在从事STAF&STAX的工作。我的目标是使用STAF&STAX Return TestcasePASSFAIL读取JSON文件。我尝试用最新的python版本将我的staf更新到最新版本

Python版本详细信息

20130408-15:38:19   
Python Version : 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) 
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)]
这是我的密码:

它给出了下面给出的错误

20130408-11:32:26 STAXPythonEvaluationError信号发出。终止工作。
====XML信息=====
文件:new13.xml,机器:local://local 
第15行:元素类型“script”中的错误。
======Python错误信息=====
com.ibm.staf.service.stax.staxpythonevaluation异常:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为simplejson的模块
====STAX线程1的调用堆栈=====[
函数:main(第7行,文件:C:\STAF\services\stax\samples\new13.xml,机器:local://local)
序列:1/2(第14行,文件:C:\STAF\services\stax\samples\new13.xml,机器:local://local)
]
在STAF模块中包含JSON的过程是什么


我对STAF/STAX一无所知。但根据错误所述,似乎
simplejson
模块不可用。按如下所示重写导入行:

try:
  import simplejson as json
except ImportError:
  import json

如果导入失败(Python2.6+),您可以回退到
json
模块。

我对STAF/STAX知之甚少。但根据错误所述,似乎
simplejson
模块不可用。按如下所示重写导入行:

try:
  import simplejson as json
except ImportError:
  import json
如果导入失败(Python 2.6+),您可以回退到
json
模块

STAX使用Jython(用Java编写的Python版本)而不是Python在STAX作业中的元素内执行代码。正如我所说,我使用的是最新版本的STAX,v3.5.4,然后它提供了一个嵌入式Jython 2.5.2(它实现了与Python 2.5相同的一组语言特性)来执行元素中的代码

注意:Jython 2.5.2不包括simplejson,因为simplejson包含在Python 2.6或更高版本中

附录F:“讨论了Jython和Python(又名CPython)之间的一些差异。在系统中安装Python 2.7或更高版本不会影响STAX使用Jython 2.5.2在STAX作业中的元素内执行代码的事实。但是,”simplejson可以通过Jython运行。“我将包含simplejson模块的目录添加到我的STAX作业的sys.path中,然后导入simplejson。
例如:


myPythonDir='C:/simplejson'
导入系统
pythonpath=sys.path
#如果尚未存在,请将myPythonDir附加到sys.path
如果myPythonDir不在pythonpath中:
sys.path.append(myPythonDir)
将simplejson导入为json
或者,如果您想使用系统上安装的Python 2.7或更高版本(包括simplejson),您可以通过STAX作业使用**元素运行Python脚本(使用json)

例如,使用Python2.7(如果安装在C:\Python2.7中)在C:\tests中运行名为YourPythonScript.py的Python脚本


“本地”
'C:/Python2.7/bin/python.exe YourPythonScript.py'
‘C:/tests’
STAX使用Jython(用Java编写的Python版本)而不是Python在STAX作业中的元素内执行代码。正如我所说,我使用的是最新版本的STAX,v3.5.4,然后它提供了一个嵌入式Jython 2.5.2(它实现了与Python 2.5相同的一组语言特性)来执行元素中的代码

注意:Jython 2.5.2不包括simplejson,因为simplejson包含在Python 2.6或更高版本中

附录F:“讨论了Jython和Python(又名CPython)之间的一些差异。在系统中安装Python 2.7或更高版本不会影响STAX使用Jython 2.5.2在STAX作业中的元素内执行代码的事实。但是,”simplejson可以通过Jython运行。“我将包含simplejson模块的目录添加到我的STAX作业的sys.path中,然后导入simplejson。
例如:


myPythonDir='C:/simplejson'
导入系统
pythonpath=sys.path
#如果尚未存在,请将myPythonDir附加到sys.path
如果myPythonDir不在pythonpath中:
sys.path.append(myPythonDir)
将simplejson导入为json
或者,如果您想使用系统上安装的Python 2.7或更高版本(包括simplejson),您可以通过STAX作业使用**元素运行Python脚本(使用json)

例如,使用Python2.7(如果安装在C:\Python2.7中)在C:\tests中运行名为YourPythonScript.py的Python脚本


“本地”
'C:/Python2.7/bin/python.exe YourPythonScript.py'
‘C:/tests’
try:
  import simplejson as json
except ImportError:
  import json
<script> 
  myPythonDir = 'C:/simplejson'   

  import sys 
  pythonpath = sys.path 

  # Append myPythonDir to sys.path if not already present 
  if myPythonDir not in pythonpath: 
    sys.path.append(myPythonDir) 

  import simplejson as json 
</script> 
<process> 
  <location>'local'</location> 
  <command mode="'shell'">'C:/Python2.7/bin/python.exe YourPythonScript.py'</command> 
  <workdir>'C:/tests'</workdir> 
</process>