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

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

这里介绍以下几个断言方法: 
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)这边是通过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)这边是通过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)这边是通过寻找id(com.boohee.secret:id/tv_edit_profile)的元素是否存在,如存在则pass;不存在则fail。 
(2)后面的“无编辑资料按钮,登录失败,Fail”是fail时需要打印的信息,可写可不写。 
断言assertIsNone反着用就可以了。

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

最新文章

  1. DotNetBar grid筛选 按时间筛选
  2. loadrunner将参数文件转换为UTF-8编码
  3. C # 数据绑定(1)——将DataTabel的data添加ListView
  4. HTTP笔记整理(2)
  5. android 切换fragment的两种方式
  6. JS获取阴历阳历和星期
  7. Java多线程学习(转载)
  8. java的Arrays工具类实战
  9. C++中各种容器的类型与特点
  10. 使用busybox构建根文件系统
  11. SVN补充
  12. sgu 104 Little Shop of Flowers
  13. DEDE常见的错误(转)
  14. [LeetCode] 200. Number of Islands 解题思路
  15. WinDBG调试.NET程序示例
  16. MAVEN学习(初级)
  17. 优雅的处理Redis访问超时
  18. CentOS7.2调整Mysql数据库最大连接数
  19. GitHub Git 简单操作
  20. [原]openstack-kilo--issue(十二)openstack-keystone和httpd服务同时占用35357和5000

热门文章

  1. python print (x,end = '') 意思作用
  2. SpringCloud-Eureka-Provider&Consumer
  3. JS中的Number数据类型详解
  4. 【记录】ajax 设置请求header的Content-Type 为 application/json;charset=utf8
  5. post请求中的参数形式和form-data提交数据时取不到的问题
  6. Tomcat架构与原理
  7. [POJ1821]Fence(单调队列优化dp)
  8. Linux --忘记root密码/su: Authentication failure
  9. Java8 stream基础
  10. Es学习第七课, term、terms、match等基本查询语法