Почему Мой "Результат костюма" дважды показывает данные первого теста? - PullRequest
0 голосов
/ 29 октября 2019

Здравствуйте. Я новичок в StackOverflow как зарегистрированный пользователь. На самом деле я написал некоторый код с поставщиком данных только для целей обучения. Но когда он выполняется через testNg.xml, 1-й тест показывает результат дважды как

 package com.qa.zoho.rough;

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.DataProvider;
import org.testng.annotations.Test;

public class TestCase1 {

    WebDriver driver;

    @Test(dataProvider="getdata")
    public void doLogin(String username, String password,String browser) throws InterruptedException {

     if(browser.equals("chrome")) {

    System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\src\\test\\resources\\executables\\chromedriver.exe");
     driver= new ChromeDriver();
     }
     else if (browser.equals("firefox")){

    System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir")+"\\src\\test\\resources\\executables\\geckodriver.exe");
     driver= new FirefoxDriver(); 

     }

    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("https://www.zoho.com");

    driver.findElement(By.xpath("//a[@class='zh-login']")).click();
    driver.findElement(By.id("lid")).sendKeys(username);
    driver.findElement(By.id("pwd")).sendKeys(password);
    driver.findElement(By.id("signin_submit")).click();
    Thread.sleep(3000);

    driver.quit();

    }

@DataProvider
 public Object[][] getdata(){

    Object[][] data= new Object[2][3];
    data[0][0]="tester1sel@yahoo.com";
    data[0][1]="Confidential";
    data[0][2]="Confidential";

    data[1][0]="tester2sel@yahoo.com";
    data[1][1]="Confidential";
    data[1][2]="firefox";

    return data;


    }
    }



  package com.qa.zoho.rough;

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.DataProvider;
import org.testng.annotations.Test;

public class TestCase2 {

    WebDriver driver;

    @Test(dataProvider="getdata")
    public void doLogin(String username, String password,String browser) throws InterruptedException {

     if(browser.equals("chrome")) {

    System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\src\\test\\resources\\executables\\chromedriver.exe");
     driver= new ChromeDriver();
     }
     else if (browser.equals("firefox")){

    System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir")+"\\src\\test\\resources\\executables\\geckodriver.exe");
     driver= new FirefoxDriver(); 

     }

    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("https://www.zoho.com");

    driver.findElement(By.xpath("//a[@class='zh-login']")).click();
    driver.findElement(By.id("lid")).sendKeys(username);
    driver.findElement(By.id("pwd")).sendKeys(password);
    driver.findElement(By.id("signin_submit")).click();
    Thread.sleep(3000);

    driver.quit();

    }

@DataProvider
 public Object[][] getdata(){

    Object[][] data= new Object[1][3];
    data[0][0]="kasif135@yahoo.com";
    data[0][1]="Confidential";
    data[0][2]="chrome";



    return data;


    }


}


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
  <test name="TestChrome">
    <classes>

      <class name="com.qa.zoho.rough.TestCase1"/>
    </classes>
  </test>

  <test name="TestFirefox">
    <classes>
      <class name="com.qa.zoho.rough.TestCase2"/>

    </classes>
  </test> 

</suite> 

================= Suite Result =======================

Suite Результат

Я не знаю, что происходит, у меня естьпопытался обновить зависимость testng, а также обновил библиотеку testNG, но все еще не смог решить эту проблему, даже если я поменяю местами порядок тестирования в testNG.xml, то второй результат теста будет показан дважды.

1 Ответ

0 голосов
/ 03 ноября 2019

Изменение строк getData в контрольном примере 1:

Object[][] data= new Object[1][3];
data[0][0]="kasif135@yahoo.com";
data[0][1]="Confidential";
data[0][2]="chrome";
return data;

Таким образом вы сохраните только 1 объект, а не 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...