【问题标题】:Scorm 2004 4th edition CM-04b testScorm 2004 第 4 版 CM-04b 测试
【发布时间】:2014-01-18 00:55:31
【问题描述】:

我有一个关于 Scorm 2004 第 4 版 CM-04b 测试的问题。我不明白为什么在活动 15 中应该禁用上一个按钮。 Activity 15 的父级上有一个流设置为 true,因此按钮继续,并且应该启用上一个。有人可以向我解释为什么应该禁用它吗?

这是 Scorm 2004 第 4 版测试套件 - 测试 LMS 测试内容包 CM-04b 的清单。

<?xml version="1.0"?>

-<manifest xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd     http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" version="1.1.1" identifier="LMSTestPackage_CM-04b">


-<metadata>

<schema>ADL SCORM</schema>

<schemaversion>2004 4th Edition</schemaversion>

</metadata>


-<organizations default="CM-04b">


-<organization identifier="CM-04b">

<title>LMS Test Content Package CM-04b </title>


-<item identifier="activity_1">

<title>Activity 1</title>


-<item identifier="activity_2" parameters="?tc=CM-04b&act=2" identifierref="SEQ01">

<title>Activity 2</title>

</item>


-<item identifier="activity_3" parameters="?tc=CM-04b&act=3" identifierref="SEQ01">

<title>Activity 3</title>

</item>


-<imsss:sequencing>

<imsss:controlMode flow="true"/>

</imsss:sequencing>

</item>


-<item identifier="activity_4">

<title>Activity 4</title>


-<item identifier="activity_5" parameters="?tc=CM-04b&act=5" identifierref="SEQ01">

<title>Activity 5</title>

</item>


-<item identifier="activity_6" parameters="?tc=CM-04b&act=6" identifierref="SEQ01">

<title>Activity 6</title>

</item>


-<item identifier="activity_7" parameters="?tc=CM-04b&act=7" identifierref="SEQ01">

<title>Activity 7</title>

</item>

</item>


-<item identifier="activity_8">

<title>Activity 8</title>


-<item identifier="activity_9" parameters="?tc=CM-04b&act=9" identifierref="SEQ01">

<title>Activity 9</title>

</item>


-<item identifier="activity_10">

<title>Activity 10</title>


-<item identifier="activity_11">

<title>Activity 11</title>


-<item identifier="activity_12" parameters="?tc=CM-04b&act=12" identifierref="SEQ01">

<title>Activity 12</title>

</item>


-<item identifier="activity_13" parameters="?tc=CM-04b&act=13" identifierref="SEQ01">

<title>Activity 13</title>

</item>


-<imsss:sequencing>

<imsss:controlMode flow="true"/>


-<imsss:sequencingRules>


-<imsss:preConditionRule>


-<imsss:ruleConditions>

<imsss:ruleCondition condition="attempted"/>

</imsss:ruleConditions>

<imsss:ruleAction action="skip"/>

</imsss:preConditionRule>

</imsss:sequencingRules>

</imsss:sequencing>

</item>


-<item identifier="activity_14" parameters="?tc=CM-04b&act=14" identifierref="SEQ01">

<title>Activity 14</title>

</item>


-<imsss:sequencing>

<imsss:controlMode flow="true"/>

</imsss:sequencing>

</item>

</item>


-<item identifier="activity_15" parameters="?tc=CM-04b&act=15" identifierref="SEQ01">

<title>Activity 15</title>

</item>


-<imsss:sequencing>

<imsss:controlMode flow="true"/>

</imsss:sequencing>

</organization>

</organizations>


-<resources>


-<resource identifier="SEQ01" xml:base="resources/" href="SequencingTest.htm"     adlcp:scormType="sco" type="webcontent">

<file href="SequencingTest.htm"/>

<dependency identifierref="LMSFNCTS01"/>

<dependency identifierref="JAR01"/>

<dependency identifierref="ABOUT01"/>

<dependency identifierref="EMULATION01"/>

<dependency identifierref="LMSINCLUDE"/>

</resource>


-<resource identifier="LMSFNCTS01" adlcp:scormType="asset" type="webcontent">

<file href="common/lmsrtefunctions.js"/>

</resource>


-<resource identifier="JAR01" xml:base="common/" adlcp:scormType="asset"     type="webcontent">

<file href="LMSTest.jar"/>

</resource>


-<resource identifier="ABOUT01" adlcp:scormType="asset" type="webcontent">

<file href="common/About.js"/>

</resource>


-<resource identifier="EMULATION01" adlcp:scormType="asset" type="webcontent">

<file href="common/EmulationCode.js"/>

<dependency identifierref="BROWSERDETECT01"/>

</resource>


-<resource identifier="BROWSERDETECT01" adlcp:scormType="asset" type="webcontent">

<file href="common/BrowserDetect.js"/>

</resource>


-<resource identifier="LMSINCLUDE" adlcp:scormType="asset" type="webcontent">

<file href="includes/LMSTestContentPackages_style.css"/>

</resource>

</resources>

</manifest>

Activity 15 是一个叶子,所以我们看它的父节点,它是树的根。根有 controlMode flow="true" 并且 controlChoice 未定义,因此我们采用默认值为 true。所以我不明白为什么应该禁用上一个按钮。

还有日志。

 Start ADL LMS Test Content Package CM-04b 
 Testing Activity 2 
 Activity 2 was launched as expected 
 All User Interface inspection questions were answered as expected 
 Evaluating Initialize("") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating GetValue("adl.nav.request_valid.continue") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating GetValue("adl.nav.request_valid.previous") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_2}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_3}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_6}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_9}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_12}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_15}") - Expected: "true" - LMS Returned: "true" 
 Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Testing Activity 12 
 Activity 12 was launched as expected 
 Evaluating Initialize("") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating GetValue("adl.nav.request_valid.continue") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating GetValue("adl.nav.request_valid.previous") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_2}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_3}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_6}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_9}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_12}") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_15}") - Expected: "true" - LMS Returned: "true" 
 Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Testing Activity 14 
 Activity 14 was launched as expected 
 Evaluating Initialize("") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Testing Activity 2 
 Activity 2 was launched as expected 
 Evaluating Initialize("") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Testing Activity 15 
 Activity 15 was launched as expected 
  ERROR: Did the LMS provide an enabled UI device that corresponds to the Previous Navigation Event? - Expected: No - Answered: Yes 
 Evaluating Initialize("") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 
 Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true" 
 Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0" 

【问题讨论】:

    标签: .net testing scorm scorm2004


    【解决方案1】:

    flow "true" 应该允许按照您的说明对请求进行排序。但是,如果选择为 false,则会在 LMS 级别隐藏导航按钮。

    我在这里举了你的例子并对其进行了修改,以便我可以找出发生了什么。添加时...

    <imsss:sequencing>
        <imsss:controlMode flow="true"/>
    </imsss:sequencing>
    

    ...为了让您在每个部分中前进,您需要将其放在该活动的根目录中。这使下一个/上一个可以继续通过树中的活动。

    我用 cmets 修改的 XML

    <?xml version="1.0"?>
    <manifest
    xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd     http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:imsss="http://www.imsglobal.org/xsd/imsss"
    xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3"
    xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3"
    xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" version="1.1.1"
    identifier="LMSTestPackage_CM-04b">
    
    <metadata>
        <schema>ADL SCORM</schema>
        <schemaversion>2004 4th Edition</schemaversion>
    </metadata>
    
    <organizations default="CM-04b">
        <organization identifier="CM-04b">
            <title>LMS Test Content Package CM-04b </title>
            <item identifier="activity_1">
                <title>Activity 1</title>
                <item identifier="activity_2" parameters="?tc=CM-04b&amp;act=2" identifierref="SEQ01">
                    <title>Activity 2</title>
                </item>
                <item identifier="activity_3" parameters="?tc=CM-04b&amp;act=3" identifierref="SEQ01">
                    <title>Activity 3</title>
                </item>
                <!-- This enabled the flow thru activity 1 (2,3) -->
                <imsss:sequencing>
                    <imsss:controlMode flow="true"/>
                </imsss:sequencing>
            </item>
            <item identifier="activity_4">
                <title>Activity 4</title>
                <item identifier="activity_5" parameters="?tc=CM-04b&amp;act=5" identifierref="SEQ01">
                    <title>Activity 5</title>
                </item>
                <item identifier="activity_6" parameters="?tc=CM-04b&amp;act=6" identifierref="SEQ01">
                    <title>Activity 6</title>
                </item>
                <item identifier="activity_7" parameters="?tc=CM-04b&amp;act=7" identifierref="SEQ01">
                    <title>Activity 7</title>
                </item>
                <!-- This enabled the flow thru activity 4 (5,6,7) -->
                <imsss:sequencing>
                    <imsss:controlMode flow="true"/>
                </imsss:sequencing>
            </item>
            <item identifier="activity_8">
                <title>Activity 8</title>
                <item identifier="activity_9" parameters="?tc=CM-04b&amp;act=9" identifierref="SEQ01">
                    <title>Activity 9</title>
                </item>
                <item identifier="activity_10">
                    <title>Activity 10</title>
                    <item identifier="activity_11">
                        <title>Activity 11</title>
                        <item identifier="activity_12" parameters="?tc=CM-04b&amp;act=12"
                            identifierref="SEQ01">
                            <title>Activity 12</title>
                        </item>
                        <item identifier="activity_13" parameters="?tc=CM-04b&amp;act=13"
                            identifierref="SEQ01">
                            <title>Activity 13</title>
                        </item>
                        <imsss:sequencing>
                            <!-- This enabled the flow thru activity 10 (11,12,13) -->
                            <imsss:controlMode flow="true"/>
                            <imsss:sequencingRules>
                                <imsss:preConditionRule>
                                    <imsss:ruleConditions>
                                        <imsss:ruleCondition condition="attempted"/>
                                    </imsss:ruleConditions>
                                    <imsss:ruleAction action="skip"/>
                                </imsss:preConditionRule>
                            </imsss:sequencingRules>
                        </imsss:sequencing>
                    </item>
                    <item identifier="activity_14" parameters="?tc=CM-04b&amp;act=14" identifierref="SEQ01">
                        <title>Activity 14</title>
                    </item>
                    <!-- This enabled the flow thru activity 10,14 -->
                    <imsss:sequencing>
                        <imsss:controlMode flow="true"/>
                    </imsss:sequencing>
                </item>
                <!-- This enabled the flow thru activity 8, (9, 10) -->
                <imsss:sequencing>
                    <imsss:controlMode flow="true"/>
                </imsss:sequencing>
            </item>
            <item identifier="activity_15" parameters="?tc=CM-04b&amp;act=15" identifierref="SEQ01">
                <title>Activity 15</title>
            </item>
            <!-- This enabled the flow thru activity 1, 4, 8, 15 -->
            <imsss:sequencing>
                <imsss:controlMode flow="true"/>
            </imsss:sequencing>
        </organization>
    </organizations>
    <resources>
        <resource identifier="SEQ01" type="webcontent" adlcp:scormType="sco" xml:base="QUnit-Tests/" href="qunit_SCOBot_prod.html">
            <metadata />
            <!--****** FILES ******-->
            <file href="qunit_SCOBot_prod.html" />
            <file href="js/scorm.bot.pack.js" />
            <file href="js/test/scobot.js" />
            <dependency identifierref="common_files" />
        </resource>
        <!-- Shared Assets (optional deployment capability) -->
        <resource identifier="common_files" type="webcontent" xml:base="QUnit-Tests/" adlcp:scormType="asset">
            <file href="css/qunit-1.12.0.css" />
            <file href="js/util/json2.js" />
            <file href="js/jquery/jquery-1.10.2.js"/>
            <file href="js/jquery/jquery-1.10.2.min.js"/>
            <file href="js/jquery/plugins/qunit-1.12.0.js" />
        </resource>
    </resources>
    

    【讨论】:

    • 嗯,选择的默认值为 true
    • 嗨,活动 1 有下一个/上一个的规则。活动 4 没有,所以它是自我引导的。活动 8 是自我引导的,但子活动 11 允许下一个/上一个。 14 级可以前进到 15 级,但是因为之前的 8 级没有流量控制,所以不允许后退。我认为这是因为活动 4 和 8 是容器活动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    相关资源
    最近更新 更多