我正在实现混合框架,我在下面发布代码
public class BaseClass {
public WebDriver driver;
@BeforeTest
@Parameters({"browser","component"})
public void launchBrowser(String browser,String component) throws Exception{
if(browser.equals("firefox")){
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
BasePage basePageObject = new BasePage(driver);
if(null!=component) {
if(component.equals("Operations")){
driver.get(propertyDataObj.getOdUrl());
System.out.println("odusername---"+propertyDataObj.getOdUserName());
System.out.println("odpassword---"+propertyDataObj.getOdPassword());
basePageObject.loginToOd(odUserName, odPassword);
}
在上面的代码中,我使用 @BeforeTest
仅登录应用程序一次,但是当我运行框架时,只有第一个testcase被执行,我没有找到这样的窗口,发现了此类例外,并且执行被终止。<<<<<<<<<<<<<<<<<<<<<<<<
我必须执行以下操作:
@BeforeClass
-启动浏览器并登录
@BeforeMethod(alwaysRun=true)
-导航到主页
@Test
-做你想做的
@AfterClass
-关闭浏览器
您应该使用 @BeforeClass
注释,以便您要执行的代码部分,即登录到应用程序的任何其他方法之前执行。
使用@Test
执行所有测试后,您可以使用@AfterClass
关闭浏览器(如果需要该类型的功能,也可以从应用程序中注销)
有关更多测试注释,您可以参考链接:http://toolsqa.com/selenium-webdriver/testng-introduction/
首先打开浏览器代码'@beforeclass'
登录到应用程序'@beforemethod'
执行动作@测试@Test Any Action code
@Test
注销应用程序@AfterMethod
关闭浏览器'@afterClass'