我有一个测试网站功能的Node.js项目。它利用Webdriver.iov4和摩卡/柴。
我创建了一个函数,用于检查页面上是否存在超时1分钟的元素。如果元素存在,它应该返回true
。如果没有,它应该返回false
。
我使用相同的函数来测试页面上是否没有元素。在这种情况下,我希望函数返回false
。但是,函数不会返回false,而是抛出超时错误,并且既不返回true
也不返回false
。这很奇怪,因为我在try-catch子句的catch块中包含了一个returnfalse
语句。
在这个项目中,当一个函数失败时,我将得到一个消息,例如预期false等于true
或预期未定义等于true
。在这种情况下,我得到消息超时60000ms。尝试减少运行时间或增加测试规格(http://webdriver.io/guide/testrunner/timeouts.html)的超时;如果返回Promise,请确保它解决。
是的,我期待
element.waitForExist()
抛出一个超时错误,但是这个错误应该通过返回false
来处理。程序确实按照console.log(ex)
行的预期显示错误日志,但不会返回false
。
为什么我的函数在这种情况下不返回
false
?返回正确值的最佳/最简单的方法是什么?谢谢你!
这是我的职责:
checkElementExists: {
value: function (element) {
try {
element.waitForExist();
if (element.isExisting()) {
return true;
} else {
return false;
}
} catch (ex) {
console.log(ex);
return false;
}
}
}
预期:如果页面上存在元素,则函数返回
true
。如果页面上不存在该元素,则函数返回false
。
实际:如果页面上存在元素,函数返回
true
。如果页面上不存在该元素,则抛出Timeout错误,但既不返回true
,也不返回false
。
如果您仍然存在价值无法返回的问题,请尝试以下方法。我不确定为什么catch
无法返回,但您可以尝试以下方法吗:
checkElementExists: {
value: function (element) {
let val = false;
try {
element.waitForExist();
if (element.isExisting()) {
val = true;
}
} catch (ex) {
console.log(ex);
}
return val;
}
}
问题内容: 大家。我有一个关于java中返回值的菜鸟问题。这是我的代码。 Eclipse报告“此方法必须返回long类型的结果”错误。但是我确实在try块中返回了提示。eclipse建议在try / catch块之后添加一个返回值,这会破坏逻辑。你能告诉我这里有什么问题吗?谢谢。 问题答案: 当一个被抛出的返回值是不确定的。引发异常时,控制权立即传递给异常处理程序。在这种情况下,您记录错误。然后控
我正在创建一个进行线性探测以查找键索引的哈希图。如果键已经在索引中,我想增加它的值,而不是向新索引添加一个。 例如,如果我得到字符串“五,五,五”的字数,我的输出是五1,五1,五1,而不是五3。 我认为一定是我的 containsKey 方法,它使用 get 方法来检查我的密钥是否已在映射中。下面是我的Hashmap.java类。
我脑海中的东西告诉我,我在这里错过了一些明显的东西。 我正在将一个现有的java项目与一个第三方api进行集成,该api使用API密钥的md5散列进行身份验证。它对我不起作用,在调试过程中,我意识到我生成的散列与他们提供的例子不匹配。我发现一些网站从字符串中创建MD5哈希来检查他们的例子,就我所知,我错了,他们是对的。 例如,根据这个网站,字符串“hello”生成“5d41402abc4b2a76
问题内容: 我编写了一个打印表格的程序。我没有在主函数中包含返回语法,但是无论何时我键入echo $?它显示12。 我的源代码: 我尚未编写return 12,但每次执行程序时它仍返回12。 谢谢。 问题答案: 正如swegi所说,这是未定义的行为。 正如史蒂夫·杰索普(Steve Jessop)等人所说,在C89之前,它是一个未指定的值,并在C99中指定(观察到的行为与C99不符)。 在大多数环
如果在表中插入了项,然后我编写了一个查询,例如,为什么结果不是按照我期望的顺序?
问题内容: 我想打印根节点的子元素。这是我的XML文件。 根据我的理解,根节点是“公司”,其子节点必须是“职员”和“职员”(因为存在“职员”节点2次)。但是,当我尝试通过我的Java代码获取它们时,我得到了5个子节点。3个额外的文本节点从哪里来? Java代码: 输出: 为什么三个文本节点要过来? 问题答案: 为什么三个文本节点要过来? 它们是子 元素 之间的空白。如果只需要子元素,则应忽略其他类