我将Selenium与ChromeDriverService一起使用。
在其基类DriverService
中,它启动服务并将输出消息打印到系统。错误
stream。
private CommandLine process = null;
public void start() throws IOException {
lock.lock();
try {
if (process != null) {
return;
}
process = new CommandLine(this.executable, args.toArray(new String[] {}));
process.setEnvironmentVariables(environment);
process.copyOutputTo(System.err);
process.executeAsync();
waitUntilAvailable();
} finally {
lock.unlock();
}
}
我的第一个问题是为什么错误流?它只是打印一些关于chrome驱动程序初始化的信息。
在我的应用程序中,所有进入System.err
的内容都显示在应用程序的日志中,日志级别为SEVERE。
我的第二个问题是如何避免它并将其显示为INFO日志级别?不可能扩展ChromeDriverService
并覆盖start
方法,因为DriverService
包含一些我需要但无法访问的私有数据成员。
谢谢。
另外,我使用的是Selenium 2.5.2,但在较新的版本中是相同的概念
DriverService的Selenium 3.14.0,您是对的,默认值是System。犯错误看起来确实可以按如下所示更改此默认值,在较新版本中,start()方法已更改为使用getOutputStream()。这将允许您更改默认值。
private OutputStream outputStream = System.err; // default
// You should call this method and set the output to your desired location
public void sendOutputTo(OutputStream outputStream) {
this.outputStream = Preconditions.checkNotNull(outputStream);
}
public void start() throws IOException {
lock.lock();
try {
if (process != null) {
return;
}
process = new CommandLine(this.executable, args.toArray(new String[] {}));
process.setEnvironmentVariables(environment);
process.copyOutputTo(getOutputStream()); // This has changed...
process.executeAsync();
waitUntilAvailable();
} finally {
lock.unlock();
}
}
问题内容: 我用option运行pytest 。 不幸的是,这会打印出很多点。例: 有没有办法避免这么长的点和“ s”字符列表? 更新资料 有一个有效的答案。但是不知何故对我来说太长了。我现在使用此解决方法:我将其添加到调用pytest的脚本中: 问题答案: 详细选项无法关闭测试结果打印。但是,可以通过多种方式进行自定义,包括结果打印。要更改此设置,您将覆盖该挂钩。 关闭短字母 创建一个具有以下内
我使用Java实现了很多Selenium测试—有时,我的测试会因为StaleElementReferenceException而失败。 你能建议一些使测试更稳定的方法吗?
我正在将oracle从10升级到12,对于这个特定的项目,我遇到了以下错误: 似乎它没有识别我在DataSource上添加的配置: 我们使用的是Java 8,我们对代码有这些依赖关系: 问题是它正在为另一个项目工作(与这个项目具有相同的结构,但由于某种原因它在这里不起作用) 是否有任何遗漏或我可以找到问题并解决问题的地方?
当方法调用的嵌套层级过深,导致栈空间耗尽时,会抛出StackOverflowError错误。 尝试复现问题,代码如下:
我被困在编写Python Selenium脚本中,似乎无法令人满意地解决我得到的这个StaleElementReistrceException。 我加载了我的页面,然后单击一个按钮,打开一个表单,允许用户向订单中添加新的信用卡。在这一点上,我做了一个WebDriverWait来暂停脚本,直到这个表单上的Save按钮变为可见。此时,重新创建页面对象,因为它已更改,我的目的是填充字段并保存卡片。 问题
线上出现这种问题的,过了一会就好了