元素操作方法与断言

2018-08-25  本文已影响0人  想_上天

.click() 点击事件

.send_keys()      模拟用户输入内容

.text            获取元素的文本

.is_displayed()  判断元素是否可见

#1)获取元素对应的文本

以打开百度网址为例,比如我们来获取这也页面上的©2018 Baidu 使用百度前必读 意见反馈 京ICP证030173号  京公网安备11000002000001号 这么一句文本信息

首先我们先定位这个文本的元素

driver.find_element_by_id("cp").text

将这个元素赋给一个变量text123

text123 = dr.find_element_by_id("cp").text

然后打印出文本信息

print("打印百度首下面的文本信息:\n",text)

#2)判断元素是否可见

当我们定位元素时,这个元素在页面上时唯一的,但是就是定位不出来,报错,然后呢再检查了代码没有iframe标签,又加了时间来稳定加载页面上的元素,就是没问题但是呢它就报错,那么就要来验证这个元素是否用户可见,这里的用户可见不是单纯的我们能够在页面上可以看见的,而是要用一个函数来验证返回的是Ture还是False来判断元素是否可见,这个加强的判断方法,很靠谱。  如果返回False,那么这个元素定位就得换层级来定位了。

#检查元素是否用户可见    可见返回ture,不可见返回False

result = dr.find_element_by_id("kw").is_displayed()

print("元素是否可见返回的结果:",result)


########### 获取验证信息 ###########

.text          获取元素对应的文本(使用最多的最广泛的)

.current_url    获取当前窗口的URL

.title          获取当前窗口的标题

主要用来做自动化测试做断言(预期结果是等于实际结果的)以搜狐登陆的案例,登陆成功后找个与登陆前不一样的,用于区分的是否登录成功

#以下为使用text文本做断言的一整套做法

#1)使用text文本做断言

yuqi_text  = dr.find_element_by_css_selector(".nick").text       (预期结果)

result_text = "wawawawa@souhu.com"                                       (实际结果)

if yuqi_text == result_text:

      print("用例通过")

else:

      print("用例失败")

#2)使用in , not in判断某一段信息是否在整个文本中

yuqi_text  = dr.find_element_by_css_selector(".nick").text

if"wawawawa" in yuqi_text

      print("用例通过")

else:

      print("用例失败")

#3)断言失败截图

yuqi_text  = dr.find_element_by_css_selector(".nick").text

if"wawawawa" in yuqi_text

      print("用例通过")

else:

      print("用例失败")

      dr.get_screenshot_as_file("E:\xxx.jpg")

上一篇 下一篇

猜你喜欢

热点阅读