检查量角器中是否存在元素

时间:2018-06-11 22:21:36

标签: angular protractor

我有一个角度应用程序,用户可以根据她/他的浏览器缓存获得不同的登录屏幕(非角度)。我正在使用量角器编写端到端测试用例,我想提出类似这样的条件

if(this element is present)
{
click it
}
else check if this element is pressent
{
click it
}

这就是我的尝试。

  browser.driver.findElements(by.id('element1')).then(function(result) {
      if (result) {
        browser.driver.findElement(by.id('element1')).click();
      }
      else {
        browser.driver.findElement(by.id('element2')).sendKeys("username");
      }
    }
  );

我的问题是,如果“if条件”中的元素不存在,那么我收到错误“Failed: no such element: Unable to locate element:”。我不希望我的测试用例失败,因为元素可能不存在然后它应该转到else块。 我在stackoverflow上看到了很多问题,但没有任何帮助。我真的很感激这里的任何帮助。

更新:请注意,这是一个非角度的屏幕,我只能使用browser.driver .______ apis。

1 个答案:

答案 0 :(得分:1)

你非常正确。由于findElements返回一个数组,因此您只需将import numpy as np import matplotlib import matplotlib.pyplot as plt def main(): print matplotlib.__version__ data = np.random.randint(1, 100, (100, 100)) fig = plt.figure() ax = fig.add_subplot(111, polar=True) ax.imshow(data, extent=[0, 2*np.pi, 0, 90]) plt.show() if __name__ == '__main__': main() 更改为if (result)即可。使用FindElements,找不到任何错误。