Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
isEmpty()无法在使用JavaScript的量角器中工作_Javascript_Selenium Webdriver_Protractor - Fatal编程技术网

isEmpty()无法在使用JavaScript的量角器中工作

isEmpty()无法在使用JavaScript的量角器中工作,javascript,selenium-webdriver,protractor,Javascript,Selenium Webdriver,Protractor,我们都知道,Java中有类似于selenium的东西 driver.findElementsByXPath("xxx").isEmpty() JavaScript中是否有类似的东西用于使用量角器进行自动化测试 注意:我使用的应用程序不是angular应用程序 我的代码块经过: if(browser.driver.findElementsByXPath("xxx").isEmpty()){ console.log(); } 我尝试使用的函数是:isDisplayed().toBeTruthy(

我们都知道,Java中有类似于selenium的东西

driver.findElementsByXPath("xxx").isEmpty()
JavaScript中是否有类似的东西用于使用量角器进行自动化测试

注意:我使用的应用程序不是angular应用程序

我的代码块经过:

if(browser.driver.findElementsByXPath("xxx").isEmpty()){
console.log();
}
我尝试使用的函数是:
isDisplayed().toBeTruthy()

我得到的错误是:findElement(…).isDisplayed(…).toBeTruthy不是函数

isEmpty()可以根据字符串长度检索True或False值

-如果字符串长度为0,则返回true,

-如果字符串长度大于0,则返回false,

在Selenium Java中,它也不能通过findElement()方法直接处理,它需要首先通过getText()方法从元素中检索文本值,然后才能检查值

您可以参考下面的Java示例

String getdata = driver.findElement(By.xpath("...")).getText();
System.out.println(getData.isEmpty()); //It prints value true or false
isEmpty()函数仅适用于字符串变量。


和wise一样,您也可以为Proactor实现相同的功能。

在量角器中没有isEmpty()方法,至少在量角器官方api上是不可用的。但是yes isEmpty()是一个java方法,用于验证字符串是否为空

在量角器中显示方法的使用

var foo = element(by.id('foo')); // equivalent of driver.findElement(By.id("foo"))

expect(foo.isDisplayed()).toBe(true); // equivalent of assert in java/testng

Javascript API的所有量角器和selenium webdriver都是异步的,并返回承诺。更多细节可以在下面的API文档和源代码中找到


请注意,对于
isDisplayed()
,即使元素本身未隐藏,空标记也会返回false。您还可以使用
foo.idDisplayed().toEqual(“”)我收到错误isDisplayed()不是量角器
元素(by.xpath(“…”)中的函数。getText()
返回承诺。为了打印实际文本,必须实现如下回调:
元素(by.xpath(“…”).getText().then(函数(结果){console.log(结果);})。对于
expect
这不是必需的,因为它知道如何处理承诺。
var size = browser.driver.findElements(by.xpath("...")).then(function(eles){
  // eles is a javascript array
  return eles.length;
});

expect(size).toEqual(2) // use jasmine assertion api

expect(size).to.eventually.be(2) // use chai and chai-as-promised assertion api