Selenium Webdriver的哪些测试框架?

时间:2014-02-11 11:02:33

标签: selenium ant selenium-webdriver

我知道stackoverflow中有关于此主题的其他一些问题。但我正在寻找一个具体的答案 - 如果我使用JUnit,则不能在不同类中的测试之间共享数据。 例如静态变量计数器初始化为零。我在@Test方法中打印它的值。然后在第二课的另一个@Test中做同样的事情。我正在通过build.xml这样的

调用这两个类中的测试
<target name="LoginTestAndPreReqs" depends="dist">
    <mkdir dir="${java.test.reports.path}" />
    <junit haltonfailure="no" printsummary="true">
        <classpath>
            <pathelement location = "${build}" />
        </classpath>
    <formatter type="xml"/>
        <batchtest fork="yes" todir="${java.test.reports.path}">
            <fileset dir="${build}/">
                <include name="**/TestUnits.class"/>
                <include name="**/TestUnits1.class"/>
                <exclude name="**/*$*.class"/>
            </fileset>
        </batchtest>
    </junit>
</target>

但输出显示每个TestUnit *方法的计数器都重置为零。这意味着计数器在这两个测试之间不共享递增。

现在,对于selenium我正在使用webdriver API。我想维护用于登录我网站的驱动程序对象。当它们出现在不同的类中时,如何在不同的@Test方法之间传递此驱动程序对象?使用Junit这似乎是不可能的。或许我可能在build.xml做错了。似乎每个测试用例都在不同的JVM中调用。

1 个答案:

答案 0 :(得分:0)

当我使用Junit和Webdriver时,我将以后测试中使用的任何值写入文本文件。然后,稍后的测试将读取到文件以获取所需的值。

我使用此方法将在一个测试中生成的预订参考传递给另一个需要特定预订类型的测试。