Python selenium实现断言3种方法解析
作者:多测师_郑sir 发布时间:2023-06-06 06:08:53
标签:Python,selenium,断言
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()
来源:https://www.cnblogs.com/ZhengYing0813/p/11779590.html


猜你喜欢
- 之前写了一个matlab的,越用越觉得麻烦,如果不同数据集要改类别数目,而且运行速度慢。所以重新写了一个Python的,直接读取xml文件夹
- CACHE_BACKEND参数每个缓存后端都可能使用参数。 它们在CACHE_BACKEND设置中以查询字符串形式给出。 有效参数如下:&n
- 前言python中字符串对象提供了很多方法来操作字符串,功能相当丰富。print(dir(str))[..........'capi
- 不多说,我们直接上源码:# -*- coding:UTF-8 -*-'''实现文件打包、上传与校验Created o
- 和数据库打交道要频繁地用到 SQL 语句,除非你是全部用控件绑定的方式,但采用控件绑定的方式存在着灵活性差、效率低、功能
- 前言JavaScript中一共有3种用来声明变量的关键字,分别是var、let和const。其中var关键字是ES5时代的产物,由于ES5对
- 代码如下:ALTER function [dbo].[GetOrderNum]( @ebaystockflag varchar(20)//规
- 继承是面向对象编程的一个重要的方式,通过继承,子类就可以扩展父类的功能。在python中一个类能继承自不止一个父类,这叫做python的多重
- 其他语言中,比如C#,我们通常遍历数组是的方法是:for (int i = 0; i < list.Length;
- 前言控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录。参数文件
- <script>alert(escape("人"));alert(encodeURI("人&quo
- 我们将使用Python线程来解决Python中的生产者—消费者问题。这个问题完全不像他们在学校中说的那么难。如果你对生产者—消费者问题有了解
- 引言我看到很多 golang 社区的开发者,特别是因为它的简单性而被吸引的开发者,对 golang 中的事情应该如何处理做出了一些快速的判断
- MNIST是一个非常有名的手写体数字识别数据集,TensorFlow对MNIST数据集做了封装,可以直接调用。MNIST数据集包含了6000
- 1、概述Golang是一种强类型语言,虽然在代码中经常看到i:=12这种写法,这其实是编译器在编译期间自动做了类型推断。编译器会对数据进行类
- 按照本文操作和体会,会对sql优化有个基本最简单的了解,其他深入还需要更多资料和实践的学习: 1. 建表: 代码如下:creat
- 背景有一个BUG,就是在使用element弹窗表格的字体异常的模糊。如下图:这个问题其实已经存在很久了。客户屡有反馈,但是不多。我们基本自测
- 如下所示:import pandas as pddf = pd.DataFrame({'性别' : ['男'
- 所有数据库和状态文件都包含在其中。但是,在确定数据目录内容的布局中管理员有某些职责。本文讨论为什么要移动数据目录的各个部分(甚至是字典本身)
- 编写函数装饰器本节主要介绍编写函数装饰器的相关内容。跟踪调用如下代码定义并应用一个函数装饰器,来统计对装饰的函数的调用次数,并且针对每一次调