有时在写用例时需要通过元素是否存在来验证用例是否执行通过。
将判断元素是否存在封装起来,方便调用
判断元素是否存在
def getElementExistance(self, dr, element_xpath):
"""通过元素xpath判断是否存在该元素,存在返回true,不存在返回false"""
element_existance = True
try:
# 尝试寻找元素,如若没有找到则会抛出异常
element = dr.find_element_by_xpath(element_xpath)
except:
element_existance = False
return element_existance
判断元素是否能够点击
def getElementClickable(self, dr, element_xpath):
"""通过元素id判断该元素是否能够点击"""
clickable = True
try:
# 尝试点击元素,如果元素不能点击,则会抛出异常
element = dr.find_element_by_xpath(element_xpath)
element.click()
except:
clickable = False
return clickable
调用实例
# 判断新增界面的保存按钮是否能够定位到,能定位到则新增失败
exist = public.getElementExistance(browser, ".//*[@id='btn-save']")
try:
assert exist == False
log.logger.info('已退出新增界面')
except AssertionError:
msg = '新增界面未退出,新增失败'
log.logger.error(msg)
pytest.fail(msg)