Исключение при получении снимка экрана ID сессии не имеет значения. Использование WebDriver после вызова quit()?(TestNG)
Я получаю идентификатор сессии не имеет значения. Использование WebDriver после вызова quit()? исключение Когда режим запуска любого тестового примера устанавливается как НЕТ. Я использую TestNg Framework.
Если Runmode всех тестовых случаев - Да, тогда он работает нормально.
Я создаю один класс Java для набора и создаю несколько внутренних классов для отдельных тестовых случаев.
Ниже мой код.
package com.smoke;
import org.testng.SkipException;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import com.util.TestUtil;
@Listeners(com.listener.ListenerTestNG.class)
public class Testxls extends TestSuiteBase {
@BeforeMethod
public void checkTestSkip() {
APP_LOGS.debug("Checking Runmode of Testxls Test Case");
if(!TestUtil.isTestCaseRunnable(smoke,this.getClass().getSimpleName())) {
APP_LOGS.debug("Skipping Test Case" + this.getClass().getSimpleName() + " as runmode set to NO");
throw new SkipException("Skipping Test Case as runmode is set to NO");
}
}
@BeforeTest
public void testData() {
try {
objData=smoke.getTestCaseData("DataSheet", "Testxls");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(objData);
}
@Test()
public void f() throws Exception {
openBrowser();//Calling method to open browser
Thread.sleep(5000);
tearDown(); //calling method to quit browser
}
}
@Listeners(com.listener.ListenerTestNG.class)
class Testxls1 extends TestSuiteBase {
@BeforeMethod
void checkTestSkip() {
System.out.println(this.getClass().getSimpleName());
APP_LOGS.debug("Checking Runmode of Testxls1 Test Case");
if(!TestUtil.isTestCaseRunnable(smoke, this.getClass().getSimpleName())) {
APP_LOGS.debug("Skipping Test Case" + this.getClass().getSimpleName() + " as runmode set to NO");
throw new SkipException("Skipping Test Case as runmode is set to NO");
}
}
@BeforeTest
void testData() {
try {
objData=suite_smoke.getTestCaseData("DataSheet", "Testxls1");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(objData);
}
@Test()
void f() throws Exception {
openBrowser();
}
}
Пожалуйста, найдите скриншоты тестового примера и файла данных.
любая помощь приветствуется
Спасибо випин
1 ответ
Что реализовано в TestSuiteBase? наиболее вероятно, что вы используете один и тот же экземпляр драйвера во всех тестах, поэтому получите исключение при выходе из программы в одном тесте и все еще используете в другом тесте. проверьте, используете ли вы статический веб-драйвер.
лучший способ - создать метод, который будет возвращать экземпляр webdriver в соответствии с требованиями вашего браузера и получать его при запуске теста, передавать его всем методам в этом тесте и, наконец, выйти.