首页 > 其他分享 >Selenium31-基本业务数据断言

Selenium31-基本业务数据断言

时间:2022-12-27 15:33:06浏览次数:44  
标签:断言 Selenium31 检查 元素 业务 alert 消息 文本

断言静态文本

元素里的静态文本:就是指开始和结束标记之间的文本

  • 例如: 文本
  • 定位到元素:一般是双标记的元素,目标文本位于两个<>之间
    • 示例:匿名用户
  • 然后获取元素对象的text属性值
    • 变量=元素.text
    • 注意:数据类型是str类型
  • 最后使用assertEqual来检查它等于预期值,也可以使用assertIn来检查它包含某个预期值
  • 注意:元素text属性值始终是str类型,所以预期值也需要写str类型的数据
# 检查留言板页,默认用户名是 "匿名用户"
user=self.driver.find_element(By.XPATH,"//td[text()='用户名']/../td[2]").text
self.assertEqual("匿名用户",user)

断言文本框内容

检查文本框里的内容

  • 需要定位到文本框后
  • 使用get_attribute("value")来获取文本框里的值
  • 检查它等于某值或包含某值
  • 注意:不能使用text属性获取文本框的内容

断言是否选中

检查复选框或单选按钮是否已经被选中

  • 定位到复选框或单选按钮
  • 使用is_selected()来获得是否被选中的状态值(布尔类型)
  • 检查它等于True就可以检查已被选中,检查它等于False就可以检查它未被选中

断言下拉列表里的当前选项文本

检查下拉列表里的当前选项文本

  • 导入select类
  • 定位到下拉列表的select标记元素
  • 封装为select对象
  • 获得first_selected_option属性值就是当前选项
  • 获得text属性值就是当前选项的文本
  • 检查等于某值或包含某值




断言消息框弹出

消息框是否弹出,是下一步骤操作和检查的前提,如果消息框没有弹出,无法切换到消息框
断言消息框弹出:

  • 导入弹出框没有出现的异常类NoAlertPresentException
  • 定义一个通用方法is_alert_present,用来判断消息框弹出
  • 使用异常处理机制语法try .... except....尝试切换到弹出框,如果一旦抛出异常NoAlertPresentException,就返回False,否则就返回True
  • 测试方法里调用这个通用方法,对返回的布尔值做检查

通用方法: is_alert_present

  • 定义一个通用方法is_alert_present,用来判断消息框弹出
from selenium.common.exceptions import NoAlertPresentException

def is_alert_present(self):
	try:
		a = self.driver.switch_to.alert
	expect NoAlertPresentException:
		return False
	return True



处理消息框和断言消息内容

目标:处理消息框(点击 确定 或 点击 取消 关闭它),才能进行后续的网页操作,同时需要获得消息框里的文本信息以备检查
封装定义一个通用的方法:close_alert
操作:切换到消息框,获得消息框里的文本,并关闭消息框
参数:is_accept可选参数,默认值True代表用 确定 按钮关闭消息框,False代表用取消按钮关闭消息框
返回值: 消息框里的信息需要断言,所以返回该消息内容(str类型)

通用方法 close_alert

  • 定义一个通用方法close_alert,用来关闭消息框
def close_alert(self,is_accept=True):
	a = self.driver.switch_to.alert
	t = a.text
	if is_accept:
		a.accept() # 点击确定
	else: 
		a.dismiss() # 点击取消	
	return t



断言页面跳转 (从A页跳转B页)

  • 断言当前网页的标题是B页的标题
    • 获取当前网页标题 driver.title
  • 断言当前URL是B页的URL
    • 获得当前URL driver.current_url
  • 断言网页源代码里包含B页的文本内容
    • 获得网页源代码 driver.page_source
  • 断言能定位B页中特定网页元素成功

断言页面元素出现

能定位特定页面元素成功:代表该页面元素出现

  • 导入元素定位失败出现的异常类NoSuchElementException
  • 定义一个通用方法is_element_present,用来判断元素是否可以定位到
  • 参数how代表定位类型(By.XXX),what代表定位数据(字符串)
  • 使用异常处理机制语法try ... except ....尝试定位元素,如果一旦抛出异常NoSuchElementException,就返回False,否则返回True
  • 测试方法里调用这个通用方法,对返回的布尔值做检查

通用方法is_element_present

  • 定义一个通用方法is_element_present,用来判断元素出现
from selenium.common.exceptions import NoSuchElementException
def is_element_present(self,how,what):
	try:
		self.driver.find_element(how,what)
	except NoSuchElementException:
		return False
	return True


标签:断言,Selenium31,检查,元素,业务,alert,消息,文本
From: https://www.cnblogs.com/sean-test/p/17008188.html

相关文章