我有一个角度应用程序,用户可以根据她/他的浏览器缓存获得不同的登录屏幕(非角度)。我正在使用量角器编写端到端测试用例,我想提出类似这样的条件
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。
答案 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,找不到任何错误。