testng:我只想登录一次,执行所有测试柜,注销应用程序,然后应关闭浏览器



我正在实现混合框架,我在下面发布代码

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'

最新更新