小编pee*_*tya的帖子

具有多个类的TestNG优先级

我面临以下问题:我创建了两个包含@Tests优先级属性的类:

@Test( priority = 1 )
public void testA1() {
    System.out.println("testA1");
}

@Test( priority = 2 )
public void testA2() {
    System.out.println("testA2");
}

@Test( priority = 3 )
public void testA3() {
    System.out.println("testA3");
}
Run Code Online (Sandbox Code Playgroud)

......而且......

@Test( priority = 1 )
public void testB1() {
    System.out.println("testB1");
}

@Test( priority = 2 )
public void testB2() {
    System.out.println("testB2");
}

@Test( priority = 3 )
public void testB3() {
    System.out.println("testB3");
}
Run Code Online (Sandbox Code Playgroud)

我在testng.xml中将这两个类放在一个测试中,但是当我运行测试时,它将根据两个类的优先级命令我的@Tests:

testA1
testB1
testA2
testB2
testA3
testB3
Run Code Online (Sandbox Code Playgroud)

我期待以下结果:

testA1
testA2
testA3
testB1 …
Run Code Online (Sandbox Code Playgroud)

testng

14
推荐指数
1
解决办法
3万
查看次数

参数化硒测试与TestNG并行

首先,对不起我的英语,它不是那么完美:)

所以我面临以下问题:我正在尝试使用Selenium Grid和TestNg在不同的浏览器中运行并行测试,并且我在@BeforeTest方法中传递参数.我的问题是,当每个测试都被初始化时,似乎他们将使用最后一个测试的参数.因此,在此示例中,当我运行测试时,它将打开两个Chrome,而不是一个Firefox和一个Chrome. (browser.getDriver()方法返回一个RemoteWebDriver)

testng.xml文件:

<suite thread-count="2" verbose="10" name="testSuite" parallel="tests">
  <test name="nameOfTheTestFirefox">
    <parameter name="platform" value="windows"/>
    <parameter name="browserVersion" value="32"/>
    <parameter name="browserName" value="firefox"/>
    <classes>
      <class name="example.test.login.LoginOverlayTest"/>
    </classes>
  </test> <!-- nameOfTheTestFirefox -->
  <test name="nameOfTheTestChrome">
    <parameter name="platform" value="windows"/>
    <parameter name="browserVersion" value="38"/>
    <parameter name="browserName" value="chrome"/>
    <classes>
      <class name="example.test.login.LoginOverlayTest"/>
    </classes>
  </test> <!-- nameOfTheTestChrome -->
</suite> <!-- testSuite -->
Run Code Online (Sandbox Code Playgroud)

AbstractTest类:

public class SeleniumTest {

    private static List<WebDriver> webDriverPool = Collections.synchronizedList(new ArrayList<WebDriver>());
    private static ThreadLocal<WebDriver> driverThread;
    public static BrowserSetup browser;

    @Parameters({ "browserName", "browserVersion", "platform"})
    @BeforeTest()
    public static void …
Run Code Online (Sandbox Code Playgroud)

java testng selenium-grid remotewebdriver

6
推荐指数
1
解决办法
3715
查看次数

标签 统计

testng ×2

java ×1

remotewebdriver ×1

selenium-grid ×1