每個單TestNG的XML文件,我有兩個TestNG的XML文件 如:testng1.xml & testng2.xml如何啓動瀏覽器在硒
我需要在不同的瀏覽器或瀏覽器一樣執行平行這兩個XML文件。請告訴我如何實現這種情況。
每個單TestNG的XML文件,我有兩個TestNG的XML文件 如:testng1.xml & testng2.xml如何啓動瀏覽器在硒
我需要在不同的瀏覽器或瀏覽器一樣執行平行這兩個XML文件。請告訴我如何實現這種情況。
這取決於你如何在testing.xml
文件中配置你的班級。 您甚至可以使用單個testing.xml
文件在同一瀏覽器或不同瀏覽器上並行運行測試。
對於配置,你可以使用下面的示例文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel Test" parallel="classes">
<test name="Functional_Test_1">
<parameter name="browser" value="PhantomJS" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
<test name="Functional_Test_2">
<parameter name="browser" value="chrome" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
</suite>
這是你如何可以設置瀏覽器中執行測試:
package com.simpletest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class DriverSerup {
@BeforeTest
@Parameters("browser")
public void setUp(String browser)
{
switch(browser)
{
case "chrome":
// Write the code here for open chrome browser
System.out.println("For Browser : " + browser);
break;
case "PhantomJS":
// Write the code here for open PhantomJS browser
System.out.println("For Browser : " + browser);
break;
default :
System.out.println("Broweer choice not available");
}
}
}
提到所有的類都在這兩個<test>
的標籤,你有創建自動化。
或者,如果你有2 testing.xml
然後配置,如:
testing1.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 1" >
<test name="Functional_Test_1">
<parameter name="browser" value="PhantomJS" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
</suite>
testing2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 2">
<test name="Functional_Test_2">
<parameter name="browser" value="chrome" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
</suite>
在這裏,你必須創建套件套房,即combineuite.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite of suites" parallel="classes" thread-count="2" >
<suite-files>
<suite-file path="testing1.xml" />
<suite-file path="testing2.xml" />
</suite-files>
</suite>
注:不要忘記提及parallel
屬性在suite
標記的並行性。
我有單獨的屬性文件,我可以在其中提到要啓動哪個瀏覽器,要登錄哪個用戶,要導航哪個URL。 –
根據屬性文件配置,已執行一組操作。 –
在屬性文件中我提到了Browser = Chrome,所以我需要在兩個瀏覽器中同時運行兩個testng.xml文件。 –
對於我的場景,只有在testng1.xml文件中執行了所有測試後,纔會觸發testng2.xml文件。
請看下面的例子。
Testng1.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 1" >
<test name="Functional_Test_1">
<parameter name="browser" value="Chrome" />
<classes>
<class name="com.simpletest.sample1"/>
</classes>
</test>
<test name="Functional_Test_2">
<classes>
<class name="com.simpletest.sample2"/>
</classes>
</test>
</suite>
Testng2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 2" >
<test name="Functional_Test_3">
<parameter name="browser" value="Chrome" />
<classes>
<class name="com.simpletest.demo1"/>
</classes>
</test>
<test name="Functional_Test_4">
<classes>
<class name="com.simpletest.demo2"/>
</classes>
</test>
</suite>
然後創建combinesuite.xml文件在那裏我有兩個配置文件的testng.xml並引發它。
在這種情況下,testng2.xml文件被觸發testng1.xml文件被完成之後。
所以,可以幫助我如何在任何瀏覽器中並行運行這兩個XML文件。
您可以添加有問題的文件 – NarendraR
請參閱:[我如何做X?](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-對於SO-do-i-do-x)對SO的期望是,用戶提出問題不僅要研究回答他們自己的問題,還要分享研究,代碼嘗試和結果。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另請參閱:[ask] – JeffC