自动化测试常用断言的使用方法(python+selenium)

自动化测试常用断言的使用方法(python)

自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断。

这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断。

这里介绍以下几个断言方法:

assertEqual

assertNotEqual

assertTrue

assertFalse

assertIsNone

assertIsNotNone

(一)assertEqual 和 assertNotEqual

assertEqual:如两个值相等,则pass

assertNotEqual:如两个值不相等,则pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.support.v7.app.ActionBar.e[2]").click()#切到超模25tab
sleep(3)
self.assertEqual(self.driver.find_element_by_id(‘com.boohee.secret:id/tv_title‘).text,u‘超模25‘,‘切到超模25tab失败‘)
  • 1
  • 2
  • 3

(1)这边是通过id(com.boohee.secret:id/tv_title)获取它的text值,与预期“超模25”对比,如相等则pass;不相等则fail。

(2)后面的“切到超模25tab失败”是fail时需要打印的信息,可写可不写。

断言assertNotEqual反着用就可以了。

(二)assertTrue和assertFalse

assertTrue:判断bool值为True,则pass

assertFalse:判断bool值为False,则Pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#点击登录入口
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#输入用户名
sleep(2)
self.assertTrue(self.find_element_by_id(‘com.boohee.secret:id/btn_login‘).is_enabled(),‘未输密码登录按钮为不可点状态,Fail‘)
  • 1
  • 2
  • 3
  • 4
  • 5

(1)这边是通过id(com.boohee.secret:id/btn_login)获取它的激活状态,如为True则pass;反之则fail。

(2)后面的“未输密码登录按钮为不可点状态”是fail时需要打印的信息,可写可不写。

断言assertFalse反着用就可以了。

(三)assertIsNone和assertIsNotNone

assertIsNone:不存在,则pass

assertIsNotNone:存在,则pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#点击登录入口
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#输入用户名
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[2]/android.widget.EditText[1]").send_keys("boohee")#输入密码
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.Button[1]").click()#点击登录按钮
sleep(10)
self.assertIsNotNone(self.driver.find_element_by_id(‘com.boohee.secret:id/tv_edit_profile‘),‘无编辑资料按钮,登录失败,Fail‘)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

(1)这边是通过寻找id(com.boohee.secret:id/tv_edit_profile)的元素是否存在,如存在则pass;不存在则fail。

(2)后面的“无编辑资料按钮,登录失败,Fail”是fail时需要打印的信息,可写可不写。

断言assertIsNone反着用就可以了。

总结:这边的断言虽然不能像人工判断预期结果那样准确,但合理灵活地运用,对于重要节点加上断言也是具有一定判断预期的效果的。

原文转至:https://blog.csdn.net/zhuquan0814/article/details/51049498

原文地址:https://www.cnblogs.com/lelexiong/p/8989746.html

时间: 2024-08-28 08:34:37

自动化测试常用断言的使用方法(python+selenium)的相关文章

Python 断言的使用方法

自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断. 这里介绍以下几个断言方法: assertEqual assertNotEqual assertTrue assertFalse assertIsNone assertIsNotNone (一)assertEqual 和 ass

[转]python_常用断言assert

原文地址:http://www.jianshu.com/p/eea0b0e432da python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 常用 这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断. assertEqual assertNotEqual assertTrue assertFalse assertIsNone assertIsNotNone asser

python+selenium+unitest框架断言方法详细教程

常用断言 assertLocation(判断当前是在正确的页面) assertTitle(检查当前页面的 title 是否正确) assertValue(检查 input 的值, checkbox 或 radio,有值为"on"无为"off") assertSelected(检查 select 的下拉菜单中选中是否正确) assertSelectedOptions(检查下拉菜单中的选项的是否正确) assertText(检查指定元素的文本) assertTextPr

python selenium系列(三)常用操作类型及方法

一 前言 开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容.在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素. 二 操作方法分类 总体来说,可以将操作大体分成四类,即浏览器操作.键盘操作.鼠标操作.js脚本. 1.  浏览器常用操作方法: 方法 描述 driver.maximize_window() 窗口最大化 driver.back() 页面返回 driver.forward(

Python+Selenium基础篇之5-第一个完整的自动化测试脚本

前面文章,我们介绍了如何采用XPath表达式去定位网页元素,在掌握了如何抓取或者如何书写精确的XPath表达式后,我们可以开始写自己的第一个真正意义上的webui 自动化测试脚本,就相当于,你在学习Python,如何在控制台打印Hello,Python! 一样. 我们的测试用例是:打开百度首页,搜索Selenium,然后检查搜索列表,有没有Selenium这个官网链接选项. 在写自动化脚本之前,需要明确手动脚本的步骤,然后去拆分到具体没一个步骤做什么,考虑好了之后,才开始动手去写脚本.我把这个测

python+selenium 自动化测试环境搭建

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: *  免费,也不用再为破解QTP而大伤脑筋 *  小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序. *  这也是最重要的一点,不管你以前更熟悉C. java.ruby.python.或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS *  支持多平台:windows.linux.MAC ,支持多浏览器:ie.f

自动化测试学习笔记1——Python + Selenium自动化测试环境配置

Python + Selenium自动化测试环境配置(Windows平台) 准备工具: 下载python    http://python.org/getit/ 下载setuptools http://pypi.python.org/pypi/setuptools 下载pip https://pypi.python.org/pypi/pip 下载selenium   https://pypi.python.org/pypi/selenium 下载selenium服务端 https://code.

Python + Selenium(一)常用控制方法

Selenium 体系中用来操作浏览器的 API 就是 WebDriver,WebDriver 针对多种语言都实现了一套 API,支持多种编程语言. Selenium 通常用来做自动化测试,或者编写网络爬虫. 通常我们说的 Selenium 自动化操作,指的就是 WebDriver 中提供的控制方法.一般我们讲 Selenium 多半都是在谈 WebDriver. Webdirver 中提供了对浏览器.网页元素.鼠标键盘等操作方法: 浏览器操作: 打开和关闭浏览器.改变浏览器分辨率,切换窗口,模

python常用数据类型内置方法介绍

熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # known case def from_bytes(cls, bytes, byteorder, *ar