我已經創建了2個獨立的類來測試網頁。但是,不幸的是,當我將它們都添加到testing.xml中時,其中只有一個執行,另一個不執行。甚至在將XML設置爲preserve-order =「true」parallel =「false」後,瀏覽器也會並行打開。我很困惑,我在哪裏做錯了。第二類testing.xml不執行
這是我的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" preserve-order="true" parallel="false">
<test name="Test">
<classes>
<class name="TestServiceNow.loginOne"/>
<class name="TestServiceNow.loginTwo"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
loginOne如下:
package TestServiceNow;
import org.testng.annotations.Test;
import ServiceNow.login;
public class loginOne extends loginTest{
@Test
public void test_Login(){
//Create Login Page object
objLogin = new login(driver);
//login to application
objLogin.loginGurukula("admin", "admin");
}
}
loginTwo如下:
import org.testng.annotations.Test;
import ServiceNow.login;
public class loginTwo extends loginTest{
@Test
public void test_Login_Fail(){
//Create Login Page object
objLogin = new login(driver);
//login to application
objLogin.loginGurukula("admin", "admin1");
}
}
的基類是如下:
public class登錄測試DesiredCapabilities capabilities = DesiredCapabilities.chrome(); File file = new File(「C:/Users/gattu_000/Documents/selenium-java-3.0.0-beta2/chromedriver_win32/chromedriver.exe」); WebDriver驅動程序; login objLogin;
@BeforeClass
public void a() {
driver = new ChromeDriver(capabilities);
capabilities.setCapability("marionette", true);
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
System.out.println("Before class called");
}
@BeforeTest
public void setup(){
System.out.println("Before test called");
driver.get("http://localhost:8080/#/login");
}
@AfterTest
public void close() {
System.out.println("After test called");
}
@AfterClass
public void b() {
System.out.println("After class called");
driver.close();
}
嗨,我試過了你提到的方式。這次只打開一個窗口,但第二個類不運行。我已經在錯誤截圖的問題中更新了我的代碼。 –
查看編輯答案。 –
我想你的意思是「AfterSuite」部分是driver.close()進入的地方。那也行不通。 –