UI层结果判断根据页面表现来判断结果
driver.page_source
driver.title
driver.current_url
def is_element_exit(by,locator_info):
try:
driver.find_element(by,locator_info)
return True
except NoSuchElementException as e:
return False
def page_contains(text:str):
def _predicate(driver):
return text in driver.page_source
return _predicate
def click_success(locator):
def _predicate(driver):
try:
element = driver.find_element(*locator)
element.click()
return True
except:
return False
return _predicate
上述后两个是显示等待封装,模仿expected_conditions.py内置方法
场景
保存成功后,出现一个toast,提示保存成功,停留几秒后,消失
思路:这种以页面信息作为依据
不要试图去定位
time.sleep(1)
page_source =driver.page_source
assert '保存成功' in page_source
封装:
# time.sleep(1)
# page_source =driver.page_source
try:
wait = WebDriverWait(driver,10)
flag = wait.until(page_contains('保存成功'))
return flag
except BaseException as e:
driver.save_screenshot('error.png')
print(e)
assert False
def page_contains(text:str):
def _predicate(driver):
return text in driver.page_source
return _predicate