我如何切割Java Stacktrace进行硒测试?

时间:2019-10-11 13:48:30

标签: java python selenium automated-tests

与Java相同的动作

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Lol {
    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.get("http://suninjuly.github.io/simple_form_find_task.html");
        WebElement button = driver.findElement(By.id("submit"));
    }
}

和python

from selenium import webdriver


driver = webdriver.Firefox()
driver.get("http://suninjuly.github.io/simple_form_find_task.html")
button = driver.find_element_by_id("submit")

但是堆栈跟踪在信息价值方面却大不相同:

  • java 35行
  • python 14行

出于安全原因,我没有粘贴堆栈跟踪,但是您可以检查模糊的屏幕截图:https://imgur.com/a/hlyJ6AK

java stacktrace甚至不适合Macbook 13'屏幕:c

我如何限制打印除实际痕迹之外的不需要的信息?

1 个答案:

答案 0 :(得分:1)

Firefox和Geckodriver的问题在于,它会生成太多与大多数用户无关的日志条目。要减少Java程序中的日志条目,您可以使用以下选项:

  1. 使用其他浏览器,例如Chrome产生的日志条目较少。
  2. 重定向Geckodriver日志条目。

您可以使用以下行将Geckodriver的日志条目重定向到文件:

System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"C:\\temp\\logs.txt");

有关更多信息,请参见this link