如何使用Selenium WebDriver报告Javascript错误
发表于:2024-11-23 作者:热门IT资讯网编辑
编辑最后更新 2024年11月23日,几乎所有网站都使用某种级别的Javascript来在UI上执行某些操作。在手动测试期间,当使用chrome浏览器时,我们可以通过检查开发人员工具的控制台来检查Javascript错误。要使用Selen
几乎所有网站都使用某种级别的Javascript来在UI上执行某些操作。在手动测试期间,当使用chrome浏览器时,我们可以通过检查开发人员工具的控制台来检查Javascript错误。
要使用Selenium WebDriver报告Javascript错误,我们需要通过在POM文件中添加以下依赖项来向项目添加JSERROR Collector jar:
我们还需要在自动化测试的设置中为firefox配置文件添加一个firefox插件,以便能够捕获Selenium WebDriver中的Javascript错误。点击下载 firefox插件。
下面是一个示例WebDriver代码,它使用上面的库和firefox插件来报告Javascript错误:
public class JSErrorTest {
public static WebDriver wbdv = null;public static EventFiringWebDriver driver=null;@BeforeClasspublic static void setUp() throws IOException { System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); try { ProfilesIni allProfiles = new ProfilesIni(); FirefoxProfile profile = allProfiles.getProfile("default"); profile.setAcceptUntrustedCertificates(true); profile.setAssumeUntrustedCertificateIssuer(false); wbdv = new FirefoxDriver(profile); driver = new EventFiringWebDriver(wbdv); } catch(Throwable t) { System.out.println(t); } driver.get("http://www.example.com");}@AfterClasspublic static void tearDown() { List jsErrors = JavaScriptError.readErrors(driver); System.out.println("###start displaying errors"); for(int i = 0; i < jsErrors.size(); i++) { System.out.println(jsErrors.get(i).getErrorMessage()); System.out.println(jsErrors.get(i).getLineNumber()); System.out.println(jsErrors.get(i).getSourceName()); } System.out.println("###start displaying errors"); driver.close(); driver.quit();}@Testpublic void returnJavascriptErrors() throws InterruptedException {//do your steps}
}