我得到的会话ID为空。调用quit()后使用WebDriver吗?异常当任何测试用例的运行方式设置为否时。我正在使用TestNg框架。
如果所有测试用例的运行方式均为“是”,则说明工作正常。
我为套件创建一个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();
}
}
请找到测试用例和数据文件的屏幕截图。
感谢您的帮助
谢谢 Vipin
答案 0 :(得分:0)
在TestSuiteBase中实现了什么?最有可能您在所有测试中都使用同一驱动程序实例,因此在一个测试中退出时会出现异常,而在另一个测试中仍会使用。检查您是否正在使用静态Webdriver。
更好的方法是创建一种方法,该方法根据您的浏览器要求返回webdriver实例,并在测试开始时获取它,将其传递给该测试中的所有方法,然后最终退出。