【问题标题】:NoneType' object has no attribute 'splitNoneType' 对象没有属性 'split
【发布时间】:2019-10-21 01:14:40
【问题描述】:

我在 Soatest Parasoft 上使用 Jython,当我破坏测试时出现错误 该测试用于调用 API 以获取响应,然后与 DB 进行比较。 测试单独验证,数据库结果和 API 响应都工作正常。 Jython 代码已编写为用于比较的自定义方法

 from com.parasoft.api import *

  def compareResults(input, context):

    actual = context.getValue("Generated Data Source", "Actual_goalId")

    expect = context.getValue("Generated Data Source", "Expected_goalId")

    actual_arr = []
    expect_arr = []

    actual_arr = actual.split(",")

    expect_arr = expect.split(",")

    if len(actual_arr) == len(expect_arr):

        for e_pointer in expect_arr:

            a_pointer = 0

            final_result = 0

            for a_pointer in actual_arr:

                if str(a_pointer) == str(e_pointer):

                    final_result = 1

                    break

            if final_result == 0:

                Application.showMessage("-------->From actual results: " + str(e_pointer) + " is missing")

                break

            else:

                Application.showMessage("-------->From actual results: " + str(e_pointer) + " is present")

    else:

        Application.showMessage("-------->The numbers of goal ID does not match what retrieved from data base")              

    Application.showMessage("Actual goal ID is " + str(actual_arr))

    Application.showMessage("Expected goal ID is " + str(expect_arr))

    return final_result

这个问题有什么解决办法?

【问题讨论】:

    标签: split attributes jython attributeerror nonetype


    【解决方案1】:

    当您尝试打印实际和期望时会发生什么? 就像在您的代码中一样:

    Application.showMessage(" Content of actual  : " + str(actual))
    Application.showMessage(" Content of expect : "  + str(expect))
    

    或者尝试使用内置的type()

    type(actual)
    

    或检查是否为NULL

    actual is None
    

    看起来您的某个数据源中可能有 NULL,或者您的数据源“为 NULL”

    请确认在 Parasoft SOAtest 扩展工具中选择了“使用数据源”复选框并且在数据源组合框中选择了正确的数据源 . 在您的代码中,您使用的是数据源名称“生成的数据源”,我不确定您是否真的有这样的名称,所以它也可能是使用 NoneType/NULL 的原因。

    换句话说,我想你的代码可能是正确的,但是扩展工具的配置和最终的数据源名称是错误的。

    【讨论】:

    • 也可以使用isinstance()
    • 运行时出现此错误;有时从第 14 行有时从第 12 行:消息:脚本执行期间出错。查看详细信息以获取更多信息。 Traceback(最近一次调用最后一次):文件“”,第 12 行,在 compareResults AttributeError 中:'NoneType' 对象没有属性 'split' 但理想情况下应该打印来自 API 的实际响应和来自 DB 我已经检查过的预期结果使用数据库时使用数据源,“生成的数据源”是默认的 parasoft 数据源
    • 您必须检查来自数据源“生成的数据源”的输入是否为 NoneType。这意味着您在 Parasoft SOAtest 中的项目配置有问题。您可以发布数据源配置的屏幕截图,也可以在此处发布简单的用例以使用您的 SOAtest 项目重新创建此行为。或联系 Parasoft 支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-13
    • 2022-11-29
    • 2016-09-11
    • 2022-11-13
    • 1970-01-01
    相关资源
    最近更新 更多