设置后testng没有运行

时间:2015-09-27 08:38:52

标签: selenium selenium-webdriver automation testng

设置环境代码中没有运行代码的错误

请指导它

package tc1;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.AfterClass;

import org.testng.annotations.BeforeClass;

import org.testng.annotations.Test;

public class TC001 {

    WebDriver driver;

    @BeforeClass

    public void launchBrowser(){    

        FirefoxDriver driver = new FirefoxDriver ();

      driver.manage().timeouts().implicitlyWait(50000, TimeUnit.SECONDS); 
    }

    @Test

    public void login(){

        driver.get("http://www.meritnation.com/testprep");

        driver.findElement(By.className("login-link")).click();
        //Thread.sleep(50000);

    }

    @AfterClass

    public void browserClose(){

        driver.quit();
    }
}

通过运行testng输入代码here

显示零运行和零故障
  

[TestNG]正在运行:   C:\用户\用户\应用程序数据\本地\ TEMP \ TestNG的-蚀 - 1256807320 \ TestNG的-customsuite.xml

     

===============================================默认测试

     

测试运行:0,失败:0,跳过:0

     

===============================================默认套件

     

总测试运行:0,失败:0,跳过:0

     

[TestNG] [FailedReporter传递= 0失败= 0跳过= 0]所花费的时间:3   MS

     

[TestNG]所用的时间   org.testng.reporters.JUnitReportReporter@1eb44e46:1 ms

     

[TestNG] org.testng.reporters.jq.Main@ea30797所需时间:56 ms

     

[TestNG] org.testng.reporters.XMLReporter@1963006a:26所花费的时间   MS

     

[TestNG]所用的时间   org.testng.reporters.EmailableReporter2@1ee0005:9 ms

     

[TestNG]所用的时间   org.testng.reporters.SuiteHTMLReporter@6bf2d08e:66 ms

2 个答案:

答案 0 :(得分:0)

简短的回答是,我认为您需要将@Before更改为@BeforeClass

另外我不确定你使用的是什么进口(我只是在eclipse中盲目地做了Ctrl + Shift + o),或者你要去的网站,但我想我会给你一个工人阶级,所以我希望这会有所帮助:

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class TC001 {

       //  WebDriver driver;
         public static WebDriver driver = new FirefoxDriver();

           @BeforeClass
           public void launchBrowser() {



              driver.navigate().to("https://www.google.com");
           //   FirefoxDriver driver = new FirefoxDriver();

           //    driver.manage().timeouts().implicitlyWait(50000, TimeUnit.SECONDS);
           }

           @Test
           public void login() {

               driver.findElement(By.className("login-link")).click();

               //Thread.sleep(50000);
           }
           @AfterClass
           public void browserClose() {

               driver.quit();
           }


}

更新: 当我运行你的代码时,失败了1次失败。从你看到,0跑,我会问

  1. 你可以在eclipse(或任何你的IDE)中尝试“Project clean” 是)。

  2. 尝试关闭重启IDE

    • 确保在IDE中安装了testNG,如果可以的话 让它运行,然后我们继续讨论下一个问题。

    你正在与司机做一些不同寻常的事情。你宣布两个不同的东西作为你的“司机” - 尝试像我在答案中那样public static WebDriver driver = new FirefoxDriver();

    • FirefoxDriver方法中删除@beforeclass

    • 还可以在@beforeclass.

    • 中使用driver.navigate

答案 1 :(得分:0)

驱动程序已声明两次。 @BeforeClass方法正在创建FirefoxDriver的本地实例,该实例在@Test方法中无法访问。删除创建FirefoxDriver()实例的@BeforeClass中的“FirefoxDriver”。或者换句话说,在@BeforeClass方法中将FirefoxDriver driver = new FirefoxDriver();替换为driver = new FirefoxDriver();

所以,看起来有点像这样:

public class TC001 {

WebDriver driver;

@BeforeClass

public void launchBrowser(){    

  driver = new FirefoxDriver ();

  driver.manage().timeouts().implicitlyWait(50000, TimeUnit.SECONDS); 
}

//剩下的代码