[英]How can I run all JUnit unit tests except those ending in “IntegrationTest” in my IntelliJ IDEA project using the integrated test runner?
[英]How can I Run 2 Tests Using XML Runner at the same WebDriver?
我將Selenium與Java WebDriver一起使用,並與測試Runner Suit(XML)一起使用,我有2個要運行的測試。
我在每個Test類中都設置了一個設置方法,這沒問題-測試運行良好(每個測試都使用其瀏覽器窗口)。
然后,我決定將setup方法移至配置類。 每個測試類都會擴展該類,這會產生一個問題,即第二次測試運行會使用相同的瀏覽器來覆蓋第一個測試運行。
設置類的方法代碼:
public class Configrations_And_ScreenShotsFunc_POM {
protected WebDriver driver;
public void setup()
{
System.setProperty("webdriver.edge.driver","C:\\Program Files (x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe");
driver = new EdgeDriver();
driver.get(URL);
}
測試1類代碼:
public class TestCase1_POM extends Configrations_And_ScreenShotsFunc_POM {
@BeforeTest
public void Begain() throws InterruptedException
{
setup(); //Setup Browser
}
測試2類代碼:
public class TestCase2_POM extends Configrations_And_ScreenShotsFunc_POM {
@BeforeTest
public void Begain() throws InterruptedException
{
setup(); //Setup Browser
}
Runner.Xml:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="TestSuite" thread-count="2" parallel="tests">
<test name="TestCase1">
<parameter name="browser" value="Edge" />
<classes>
<class name="POM.Tests.TestCa se1_POM"></class>
</classes>
</test>
<test name="TestCase2_POM">
<parameter name="browser" value="Edge" />
<classes>
<class name="POM.Tests.TestCase2_POM"></class>
</classes>
</test>
</suite>
注釋:2個測試文件位於一個文件夾中,而配置類位於另一個文件夾中。
如何解決?
在setup()
方法上使用@BeforeTest
注釋,而不要使用當前的Begin()
並刪除Begin()
。
注釋@BeforeTest
僅應對suite.xml文件中的每個<test>
標記調用一次。 在所有測試類都從其擴展的基類中使用@BeforeTest
方法中的瀏覽器實例化具有以下缺點:
WebDriver
實例的保存方式(作為靜態數據成員或作為實例變量),測試方法可以最終使用相同的WebDriver實例(對於靜態數據成員)(或)最終獲得NullPointerException
(對於實例數據成員) 您可以考慮將瀏覽器實例化到更精細的級別,例如:
@BeforeClass
(這里還有一個缺點是,如果您的類中有多個@Test
注釋的測試方法都使用由@BeforeClass
初始化的WebDriver
實例,那么在並行執行期間,您最終將在測試中遇到競爭條件方法)或 @BeforeMethod
注釋的方法。 我創建了一個博客文章,向您展示如何使用TestNG並行執行而不使用任何這些配置注釋,繼承等。請查看它是否對您有幫助。
博客鏈接: https : //rationaleemotions.wordpress.com/2013/07/31/parallel-webdriver-executions-using-testng/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.