gpt4 book ai didi

Java/Selenium (ieDriver) - 如何避免在每次测试运行中重复 webapp 登录 Before Method (jUnit)

转载 作者:太空宇宙 更新时间:2023-11-03 14:51:22 24 4
gpt4 key购买 nike

我有 Selenium IE 驱动程序,用 Java 编码。此 Webapp 仅与 IE9 兼容。我必须使用 SSL 信任证书,然后使用 Autoit_script 来绕过 IE9 中的这些证书弹出窗口。我想找到一个解决方案,我不必在每个新的测试用例/类中重复此代码。 IE9 变得非常慢,以至于第一个测试用例没有完成执行,第二个浏览器实例打开。

有没有一种方法可以将这段代码以某种方式放置,这样我就不必在每次测试时都重复它?这是代码,只需登录到 Web 应用程序:

public class LoginACMSbutton {
private static WebDriver driver;
private String baseUrl;
@Before
public void setUp ()throws Exception {
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
driver = new InternetExplorerDriver(ieCapabilities);
System.setProperty("webdriver.ie.driver","C:\\IEDriverServer.exe");
baseUrl =("https://My website Link/");
}

@Test
public void LogintoWeb() throws Exception {
driver.get(baseUrl);
Runtime.getRuntime().exec("C:\\Autoitscripts\\IElogin.exe");

try {
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.accept();
} catch (Exception e) {
System.out.println("show error");
} //handle the popup
}
@After
public void End() throws Exception {
driver.close();

}
}

此时,我只是在@Test 部分添加新的测试信息,这不是明智的做法。 :)

请指教。提前致谢!

最佳答案

我建议您有一个单独的单例类“浏览器”或“驱动程序”来管理和处理浏览器。您可以在您的页面对象或您的测试中调用此类(这将很难维护)。另一个建议是让一个页面对象成为您的登录页面,该页面将有一个方法让您登录系统,您可以在测试中调用它(根据需要创建尽可能多的不同登录)。通过存储 session 或一些快速而肮脏的 hack 来模拟登录通常不是一个好主意,这就是我不推荐它的原因。这里有一些信息 link .希望能帮助到你。

关于Java/Selenium (ieDriver) - 如何避免在每次测试运行中重复 webapp 登录 Before Method (jUnit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com