热门IT资讯网

如何使用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:


net.jsourcerer.webdriver
JSErrorCollector
0.5-atlassian-2

我们还需要在自动化测试的设置中为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}

}

0