簡體   English   中英

如何使用Selenium Java在同一台機器上並行運行方法或類

[英]how to run methods or classes parallely on same machine using selenium java

我是selenium的新手,我想同時運行兩個類或兩個方法,而不是一個一個接一個。 我提到很多環節特別是這個鏈接,但徒勞無功。 以下是我的testing.xml代碼( 用於測試方法 ),其中testStageDashboardprodDashboards1是單個類中的測試方法:

   <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="methods" thread-count="2">
    <test name="Test 1">
        <classes>
            <class name="com.sd.selenium.FirstTestSelenium" />
            <!-- <class name="com.sd.selenium.practice.Monday_Test_Selenium_Till_Scrum_Call" 
                /> -->
        </classes>

    </test>
</suite>  

Testing.xml( 用於測試類 ):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="classes" thread-count="2">
  <test name="Test 1">
    <classes>
      <class name="com.sd.selenium.FirstTestSelenium"/>
      <class name="com.sd.selenium.practice.Monday_Test_Selenium_Till_Scrum_Call"/>
    </classes>
  </test>
</suite>  

其中FirstTestSeleniumMonday_Test_Selenium_Till_Scrum_Call是不同程序包下的兩個不同類。我是否需要為瀏覽器節點用Java編寫任何東西? 以及如何運行呢? 我所做的是右鍵單擊項目並以> Test NG test的身份運行。 還有其他需要嗎? 提前致謝 :)

檢查是否為類/方法添加了@Test批注,並且還指定了瀏覽器詳細信息作為測試參數。 這是示例testng.xml文件

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes" thread-count="2">
    <test name="Test">
        <parameter name="myName" value="Test1"></parameter>
        <parameter name="browserType" value="chrome"></parameter>
        <parameter name="os" value="WINDOWS"></parameter>
        <classes>
            <class name="com.testng.session1.Session1" />
            <class name="com.testng.session1.Session2" />
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->

這是類的示例代碼:

public class Session1 {
    @Test 
    @Parameters ({"myName","browserType"})
    public void login(String name, String browserType){
        if(browserType.equalsIgnoreCase("firefox")){
        WebDriver driver=new FirefoxDriver();
        driver.get("www.google.co.in/");
        }
        else{
            System.setProperty("webdriver.chrome.driver", "E:\\Selenium\\Jars\\chromedriver_win32\\chromedriver.exe");
               WebDriver driver = new ChromeDriver();
               driver.get("https://www.google.co.in/"); 
        }
        System.out.println("login Successful");
          System.out.println(name+"Thread ID: "+Thread.currentThread().getId());
    }

}

下面是與兩個線程並行運行方法的代碼。

識別TestClass:

package com.sd.selenium;

import org.testng.annotations.Test;

public class FirstTestSelenium {

    @Test
    public void test1(){
        System.out.println("method1");
    }

    @Test
    public void test2(){
        System.out.println("method2");
    }

}

testng.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="methods" thread-count="2">
    <test name="Test 1">
        <classes>
            <class name="com.sd.selenium.FirstTestSelenium" />
             <!-- <class name="com.sd.selenium.practice.Monday_Test_Selenium_Till_Scrum_Call" 
                /> -->
        </classes>

    </test>
</suite> 

讓我知道您是否有任何例外情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM