我正在研究一种解决方案,在该解决方案中,我必须通过可按测试序列访问的预定义应用程序接口将TestStand测试结果写入数据库。目前,将测试结果写入数据库的方式是通过ODBC和显式地将SQL语句写入TestStand。相反,我想用.Net编写一个应用程序,并将这些SQL语句调用封装在其中。
这是完全可行的吗?我是否可以编写应用程序,构建动态链接库,将其加载到TestStand中,并通过.Net适配器使其可用于测试序列。
更糟糕的是,实际的.Net应用程序将使用webservice,该the服务将实际写入数据库。
这是我第一次使用TestStand,我不确定我是不是走对了路。我筛选过的大多数文档似乎都没有暗示通过第三方对象(.Net、Active X或任何DLL)将数据库交互具体化。
非常感谢您对此的评论
谢谢你肯。
发布于 2012-03-30 02:17:36
只要您的.NET应用程序/库功能齐全(可以写入数据库等等),您就完全可以使用TestStand中的.NET模块适配器调用您的.NET程序集。应该不是问题。
我推荐的一件事是:.NET步骤的位置取决于您是希望数据库交互只针对正在测试的特定设备(即,来自一个序列),还是希望数据库交互发生在正在测试的多种类型的设备(即,多个序列/序列文件)。
如果是第一种情况,您可能希望在客户端序列文件中包含.NET数据库步骤。如果是后者(希望对任何运行的序列进行数据库交互),您可能希望将数据库交互代码放在流程模型中,而不是放在每个单独的客户端序列文件中。
发布于 2013-11-17 23:09:01
在@J.J的回答上进行扩展:
如果您想要记录步骤结果,我建议您使用回调Edit>>Sequence File Callbacks,您可以将调用您的服务的步骤放在其中。
如果您只想记录特定序列文件的数据,请将日志记录代码放在SequenceFilePostResultListEntry中。
如果您希望记录所有序列的步骤结果,则需要创建自己的自定义流程模型(或修改其中一个标准流程模型)并使用ProcessModelPostResultListEntry。
在这两种情况下,这将确保标记为RecordResult = True的每个步骤都调用您的日志记录代码。步骤结果作为参数传递到回调序列中。但是,还要确保在回调中检查ThisContext.CallerDiscardsResults,以查看是否有父SequenceCall步骤禁用了结果记录。
就我个人而言,我认为Process Model方法是最好的方法,因为它提供了更多的灵活性(以及记录整个序列结果的其他回调)。
请注意,除了步骤结果之外,还可以使用其他类型的回调(PreStep、PostStep、PostStepRunTimeError等)来记录其他场景中的数据。
https://stackoverflow.com/questions/9844556
复制相似问题