3

我必须为 Web 应用程序自动化测试套件,让用户连接并与他们的 Dropbox 帐户同步。我正在使用 Java Selenium Webdriver。

在这里,我创建了这样的测试类。

Class1.java - 检查是否连接到 Internet 的测试用例。

Class2.java- 使用 Dropbox 登录的测试用例

Class3.java- 测试用例验证 Dropbox 文件夹是否显示在网页上。

现在这些测试类应该按这个顺序执行。

但是当我将项目作为 JUnit 测试运行时,它会以其他顺序执行这些测试。我没有找到任何 XML 文件,因此我可以指定这些类的执行顺序。

我也尝试过 TestNG,因为我在这里读到TestNG 提供了一个属性“preserve-order”。

但它不起作用。我对 Selenium 和 Java Webdriver 没有太多经验。

因此,任何帮助都是可观的。

提前谢谢。

4

4 回答 4

5

彼得·尼德维瑟是对的。

此外,您可以设置在类中运行的测试顺序(Junit 4.11):

import org.junit.runners.MethodSorters;

import org.junit.FixMethodOrder;
import org.junit.Test;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class SampleTest {

    @Test
    public void firstTest() {
        System.out.println("first");
    }

    @Test
    public void secondTest() {
        System.out.println("second");
    }
}
于 2013-07-07T10:14:40.703 回答
2

除了 Ittiel 的帖子:

而不是:@FixMethodOrder(MethodSorters.NAME_ASCENDING) 您可以使用:@FixMethodOrder(MethodSorters.JVM)

这样,您就不必对您的测试名称耍花招了。您只需按正确的顺序安排测试。

这对我来说很好。感谢伊蒂尔!

于 2014-01-23T12:34:14.990 回答
1

您可以使用 JUnit 测试套件:

import org.junit.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({Class1.class, Class2.class, Class3.class})
public class DropboxWorkflow {}
于 2013-07-07T06:47:40.997 回答
0

试试这个

@Test(dataProvider = "Login", priority = 1)
public void login()
    {
     //code
    }

@Test(dataProvider = "Search", priority = 2)
public void search()
    {
     //code
    }
于 2021-02-23T19:43:24.480 回答