在BaiduSearchStepfs.java 文件中,我们可看到都是直接用driver对页面进行操作。对于我们刚开始学习来说,这样没问题。但是随着项目的运行,页面多了以后。我们写的用例也多了以后,当开发改变某个页面元素后,那我们需要修改代码的工作量将是非常多。所以如果我们能够用Page模式来管理各个页面,那后面页面元素有改变的话,我们只需要改下具体某个页面的Eelement就可以了
1、创建一个类来启动driver
写一个类,用于启动并设置driver各个属性等
在目录test的子目录cucumber下新建utl目录,并在该目录下新建一个类SharedDriver.java
在类SharedDriver.java输入下面内容:
import com.cucumber.config.ConfigManager;
import cucumber.api.Scenario;
import cucumber.api.java.After;
import cucumber.api.java.Before;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverException;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.events.EventFiringWebDriver;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
public class SharedDriver extends EventFiringWebDriver {
private static WebDriver REAL_DRIVER = null;
private static final Thread CLOSE_THREAD = new Thread() {
@Override
public void run() {
REAL_DRIVER.close();
}
};
static {
Runtime.getRuntime().addShutdownHook(CLOSE_THREAD);
ConfigManager config = new ConfigManager();
DesiredCapabilities browser = null;
if ("firefox".equalsIgnoreCase(config.get("browser"))) {
browser = DesiredCapabilities.firefox();
} else {
browser = DesiredCapabilities.chrome();
}
browser.setJavascriptEnabled(true);
try {
REAL_DRIVER = new R

最低0.47元/天 解锁文章
895





