selenium grid + java + testNG +使用URL启动浏览器

时间:2014-09-01 11:55:34

标签: selenium selenium-webdriver testng selenium-grid

我是这个“selenium grid + testNG”的新手,并且无法找到解决问题的方法。 Hopw somw将帮助mw。

要求:希望在10个VM中启动100个浏览器(每个VM 10个浏览器)并打开一个页面。所以使用以下代码启动它。

java class:

import com.thoughtworks.selenium.*;
import org.testng.ITestContext;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.*;

public class LaunchBrowser {
    public String hubHost;
    public int hubPort;
    public String presentationServerUrl;
    public String canvasID;
    private Selenium selenium = null;
    public WebDriver driver;

    @BeforeSuite
    public void setUp(ITestContext context) {
        System.out.println("@BeforeSuite called................");

        hubHost = context.getCurrentXmlTest().getParameter("hubHost");
        hubPort = Integer.parseInt(context.getCurrentXmlTest().getParameter("hubPort"));
        presentationServerUrl =       context.getCurrentXmlTest().getParameter("presentationServerUrl");
        canvasID = context.getCurrentXmlTest().getParameter("canvasID");

        System.out.println("hubHost: " + hubHost + " ,hubPort: " + hubPort+ "  ,presentationServerUrl: " + presentationServerUrl    + " ,canvasID: " + canvasID);
    }

    @Test(invocationCount = 3)
    @Parameters("browser")
    public void startBrowser(String browser) {

        System.out.println("Browser====>>>"+ browser);

        selenium = new DefaultSelenium(hubHost, hubPort, "*"+browser, presentationServerUrl);
        selenium.start();
        selenium.open(presentationServerUrl);
        selenium.windowMaximize();
        selenium.type("id=usernameId", "admin");
        selenium.type("id=passwordId", "aspect@123");
        selenium.click("id=submitId");
        selenium.waitForPageToLoad("30000");
        selenium.click("id=btnRPToggleId");
        selenium.click("id=btnSearchRBId");
        try {
            Thread.sleep(20000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        selenium.click("id="+canvasID);

    }
}

的testng.xml

<suite name="Suite1" verbose="1">
    <parameter name="hubHost" value="localhost" />
    <parameter name="hubPort" value="4444" />
    <parameter name="presentationServerUrl" value="http://10.153.22.64:11090" />
    <parameter name="canvasID" value="btnSPOepnDashBoard663033f0-2913-11e4-9c0f-a95eb7e2fcf7" />

    <test name="FireFox Test">
        <parameter name="browser" value="firefox" />
       <classes>
           <class name="com.aspect.testsLaunchBrowser" />
       </classes>
   </test>

</suite>

问题:当我执行testNG文件时,浏览器会启动并打开特定页面。但是经过一段时间后,浏览器会被杀死,在我的情况下,它不会发生。

以上是我在上述测试执行后在节点控制台中获得的内容。

03:20:35.898 INFO - Killing Firefox...
03:20:36.195 INFO - Got result: OK on session dad4ea094a0b4763b0c0d62541ce511f

我正在寻找一种方法来实现这一目标,但却找不到解决方案。

0 个答案:

没有答案