在测试过程中碰到选填的输入框,如果通定位元素,然后点击选填的方式进行操作,会很麻烦,所有我们可以通过修改js的方式,把选填的输入框改成可以编辑的输入框
1、调用js删除生日输入框的readonly属性
2、再执行js
3、定位生日输入框,然后清空内容
4、输入时间的浮层会出现,会挡住保存按钮,所有在保存之前我们需要把让浮臣消失,点击键盘的回车收起浮层
5、进行断言,断言成功中文是否包含在当前页面的源码中
#调用js删除生日输入框的readonly属性
js = 'document.getElementsByClassName("el-input__inner")[1].removeAttribute("readonly")'
driver.execute_script(js) #执行js
#定位生日输入框,然后清空它
element = driver.find_element(By.XPATH,'(//input[@class="el-input__inner"])[2]')
element.clear()
element.send_keys("1997-11-19")
#输入时间的浮层会出现,会挡住保存资料的按钮
#所有在点击保存之前,要让浮层消失
#点击键盘上的回车键,收起浮层
ActionChains(driver).send_keys(Keys.ENTER).perform()
driver.find_element(By.XPATH,'//span[text()="保存资料"]/..').click()
wait = WebDriverWait(driver=driver,timeout=5)
flag = wait.until(page_contains("修改成功"))
assert flag
二、我们可以通过开发者助手来进行调试
三、判断一段文字是不是包含在页面源码中
page_source = driver.page_source #获取当前页面源码,结果是一个字符串
assert '保存成功' in page_source