Selenium RC+SeleniumGrid+TestNG を使用した並列開始テストに問題があります。プロジェクトを実行している間、すべてのブラウザーが開きますが、テストは適切なブラウザーで 1 つずつ実行されます。私を手伝ってくれますか?
PS私の英語でごめんなさい...
ここに私のアーティファクトがあります:
fotttest.java:
package ololo;
import org.testng.AssertJUnit;
import com.thoughtworks.selenium.*;
import org.testng.annotations.*;
//import org.testng.Assert.*;
//import java.util.regex.Pattern;
public class fotttest {
public Selenium selenium;
//@BeforeMethod
@BeforeTest()
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com.ua/");
selenium.start();
}
@AfterTest()
public void tearDown() {
selenium.stop();
}
@Test(description="FottballUATest")
public void TestOne() throws Exception {
selenium.open("/");
Thread.sleep(3000);
selenium.type("id=gbqfq", "football.ua");
selenium.click("id=gbqfb");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("link=Football.ua - все о футболе")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("css=em");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("link=Лига чемпионов")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("link=Лига чемпионов");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("link=календарь игр")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("link=календарь игр");
selenium.waitForPageToLoad("30000");
selenium.select("id=ctl00_ctl17_ddlTeam", "label=Барселона");
selenium.click("css=#ctl00_ctl17_ddlTeam > option[value=\"51\"]");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("xpath=(//a[contains(text(),'2')])[9]")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("xpath=(//a[contains(text(),'2')])[8]");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isTextPresent("Матч завершен! Челси проходит Барселону!")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
}
}
新しいテスト:
package ololo;
import org.testng.AssertJUnit;
import com.thoughtworks.selenium.*;
import org.testng.annotations.*;
public class NewTest {
public Selenium selenium;
@BeforeTest()
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com.ua/");
selenium.start();
}
@AfterTest()
public void tearDown() {
selenium.stop();
}
@Test (description="IsportTest")
public void TestTwo() throws Exception {
selenium.open("/");
selenium.type("id=gbqfq", "isport.ua");
selenium.click("id=gbqfb");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("css=em")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("css=em");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("link=БОКС+ММА")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("link=БОКС+ММА");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) AssertJUnit.fail("timeout");
try { if (selenium.isElementPresent("link=Котто: \"Все это время Мейвезер был джентльменом\"")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
selenium.click("link=Котто: \"Все это время Мейвезер был джентльменом\"");
selenium.waitForPageToLoad("30000");
}
}
testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="2" name="Suite" parallel="tests">
<test name="Test" preserve-order="true">
<classes>
<class name="ololo.NewTest"/>
<class name="ololo.fotttest"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->