0
複数の(同時の)テスト実行のための複数のブラウザプロファイル?複数の(同時の)テスト実行のための複数のブラウザプロファイル?
- これも可能ですか?
- たとえば、私は同時に2つのテストを実行できますが、2つのテストが同じブラウザ内で同時に開かれたときに、同じクッキーを共有しているように見えます。
- 私の目的を達成するために必要な設定やコードを変更するための最良の方法をアドバイスしてもらえますか?
ご協力いただきありがとうござい
public class BrowserFactory implements ISuiteListener {
private static WebDriver webdriver;
public static WebDriver getDriver() throws Exception {
try {
Properties p = new Properties();
FileInputStream fi = new FileInputStream(Constant.CONFIG_PROPERTIES_DIRECTORY);
p.load(fi);
String browserName = p.getProperty("browser");
switch (browserName) {
//firefox setup
case "firefox":
if (null == webdriver) {
System.setProperty("webdriver.gecko.driver", Constant.GECKO_DRIVER_DIRECTORY);
webdriver = new FirefoxDriver();
}
break;
//chrome setup
case "chrome":
if (null == webdriver) {
System.setProperty("webdriver.chrome.driver", Constant.CHROME_DRIVER_DIRECTORY);
DesiredCapabilities caps = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.ALL);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
webdriver = new ChromeDriver(caps);
}
break;
//IE setup
case "ie":
if (null == webdriver) {
System.setProperty("webdriver.ie.driver", Constant.IE_DRIVER_DIRECTORY);
webdriver = new InternetExplorerDriver();
}
break;
}
} catch (Exception e) {
System.out.println("Unable to load browser! - Exception: " + e.getMessage());
}
return webdriver;
}
@AfterClass
public void quitDriver() throws Exception {
if (null != webdriver) {
getDriver().manage().deleteAllCookies();
webdriver.quit();
webdriver = null;
}
// Output the time when a test class has ended
String tempTimeEndClass = new SimpleDateFormat("hh.mm.ss").format(new Date());
System.out.println("\nTEST CLASS END TIME: " + tempTimeEndClass);
}
}
ご協力いただきありがとうございます。 – Gbru
申し訳ありませんが、私はwebdriverインスタンスからスタティックを削除し、共有するテストのために1つのプロファイルを設定すると、クッキーと競合しませんか?たとえすべてが同じプロフィールを共有していても? ありがとうございました – Gbru
Gbruを修正してください。同じプロフィールがCookieと競合してはいけません。 –