Python selenium实现断言3种方法解析


Posted in Python onSeptember 08, 2020

1.if ...else ...判断进行断言

from time import *
from selenium import webdriver
def login(user="admin",pwd="123456"):
  driver = webdriver.Chrome()
  driver.implicitly_wait(10)
  driver.get("http://192.168.1.110:8080/cms")
  driver.maximize_window()
  sleep(1)
  driver.find_element_by_id("userAccount").send_keys(user)
  sleep(1)
  driver.find_element_by_id("loginPwd").send_keys(pwd)
  sleep(1)
  driver.find_element_by_id("loginBtn").click()  #登录
  sleep(1)
  users = driver.find_element_by_class_name("c-white").text  #获取用户名
  sleep(1)
  driver.quit()
  if users[6:] == user:
    pass
  else:
    raise AssertionError

if __name__ == '__main__':
  login()
from time import *
from selenium import webdriver
def login(user="admin",pwd="123456"):
  driver = webdriver.Chrome()
  driver.implicitly_wait(10)
  driver.get("http://192.168.1.110:8080/cms")
  driver.maximize_window()
  sleep(1)
  driver.find_element_by_id("userAccount").send_keys(user)
  sleep(1)
  driver.find_element_by_id("loginPwd").send_keys(pwd)
  sleep(1)
  driver.find_element_by_id("loginBtn").click()  #登录
  sleep(1)
  users = driver.find_element_by_class_name("c-white").text  #获取用户名
  sleep(1)
  driver.quit()
  if users[6:7] == user:
    pass
  else:
    assert False

if __name__ == '__main__':
  login()

2.try ... except ...断言

from time import *
from selenium import webdriver
def fatie(title,body):
  dr = login()
  sleep(2)
  dr.find_element_by_partial_link_text("版块").click()
  sleep(1)
  dr.find_element_by_id("subject").send_keys(title)
  sleep(1)
  dr.find_element_by_id("fastpostmessage").send_keys(body)
  sleep(2)
  dr.find_element_by_name("topicsubmit").click()
  sleep(2)
  try:
    dr.find_element_by_id("thread_subject")
  except:
    raise AssertionError
  else:
    pass
  sleep(3)
  dr.quit()

3.assert断言(基于unittest)

  • assertIn(arg1, arg2, msg=None)

    验证 arg1 是 arg2 的子串,不是则 fail

  • assertNotIn(arg1, arg2, msg=None)

    验证 arg1 不是 arg2 的子串,是则 fail

  • assertEqual(arg1, arg2, msg=None)

    验证 arg1=arg2,不等则 fail

  • assertNotEqual(arg1, arg2, msg=None)

    验证 arg1 != arg2, 相等则 fail

import time
import unittest

class Test(unittest.TestCase):
  def test01(self):
    self.assertEqual(2,2,msg="test01 error!")

  def test02(self):
    self.assertNotEqual(1,2,msg="test02 error!")

  def test03(self):
    self.assertIn("fang","xinfangshuo",msg="test03 error!")

  def test04(self):
    self.assertNotIn("xing","xinfangshuo",msg="test04 error!")

  def tearDown(self):
    time.sleep(1)

if __name__ == '__main__':
  unittest.main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python写的一个简单监控系统
Jun 19 Python
python 实现红包随机生成算法的简单实例
Jan 04 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
如何基于python把文字图片写入word文档
Jul 31 Python
python speech模块的使用方法
Sep 09 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 Python
浅析python连接数据库的重要事项
Feb 22 Python
什么是Python包的循环导入
Sep 08 #Python
聊聊python中的循环遍历
Sep 07 #Python
详解python中的闭包
Sep 07 #Python
python logging模块的使用
Sep 07 #Python
了解一下python内建模块collections
Sep 07 #Python
Python pymsql模块的使用
Sep 07 #Python
Python虚拟环境的创建和使用详解
Sep 07 #Python
You might like
PHP5 字符串处理函数大全
2010/03/23 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python的正则表达式re模块的常用方法
2013/03/09 Python
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
深入理解Python变量与常量
2016/06/02 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
养生餐厅创业计划书范文
2014/03/26 职场文书
2015年市场部工作总结
2015/04/30 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书