python selenium(用例断言)
1.if ...else ...判断进行断言
from time import *
from selenium import webdriver
def login(user="admin",pwd=""):
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=""):
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 selenium(用例断言)的更多相关文章
- python+selenium 自动化测试实战
一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...
- web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架
基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- python+selenium+unnittest框架
python+selenium+unnittest框架,以百度搜索为例,做了一个简单的框架,先看一下整个项目目录结构 我用的是pycharm工具,我觉得这个工具是天使,超好用也超好看! 这些要感谢原作 ...
- Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构
1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_pa ...
- python+selenium封装UI自动化框架
seleinum框架 框架的思想: 解决我们测试过程中的问题:大量的重复步骤,用自动化来实现 1)配置和程序的分离 2)测试数据和程序的分离 3)不懂编程的人员可以方便使用:使用的 ...
- Python+Selenium基础入门及实践
Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...
- python自动化用例框架搭建--目录结构规划
目录结构搭建 Test_framework |--config(配置文件) |--data(数据文件) |--drivers(驱动) |--log(日志) |--report(测试报告) |--tes ...
- Python+selenium+unittest+HTMLTestReportCN单元测试框架分享
分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测 ...
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...
- 使用python selenium进行自动化functional test
Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...
随机推荐
- go 基本包
像 fmt.os 等这样具有常用功能的内置包在 Go 语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身 unsafe: 包含了一些打破 Go 语言“类型安全”的命 ...
- 搞懂 XML 解析,徒手造 WEB 框架
恕我斗胆直言,对开源的 WEB 框架了解多少,有没有尝试写过框架呢?XML 的解析方式有哪些?能答出来吗?! 心中没有答案也没关系,因为通过今天的分享,能让你轻松 get 如下几点,绝对收获满满. a ...
- 原创hadoop2.6集群环境搭建
三台机器: Hmaster 172.168.2.3.Hslave1 172.168.2.4.Hslave2 172.168.2.6 JDK:1.8.49 OS:red hat 5.4 64 (由于后期 ...
- Python函数的返回值和作用域
函数的返回值和作用域 1.返回值 def guess(x): if x > 3: return "> 3" else: retu ...
- kafka消息分区机制原理
背景 kafka如何支撑海量消息的集中写入? 答案就是消息分区. 核心思想是:负载均衡,采用合适的分区策略把消息写到不同的broker上的分区中: 其它的产品中有类似的思想. 比如monogodb, ...
- vue2.x学习笔记(二十一)
接着前面的内容:https://www.cnblogs.com/yanggb/p/12632730.html. 可复用性&结合-混入 基础 混入(mixin)提供了一种非常灵活的方式,来分发v ...
- Java SE —— 专栏总集篇
前言: Java 语言,是相对于其他语言而言,门槛低,而且功能还强大的一门编程语言,本人十分看好这一门语言,但是,它也是有深度的,看过本人的<数据结构与算法>专栏的同学们有福了,因为本人在 ...
- Springboot:属性常量赋值以及yml配置文件语法(四)
方式一: 注解赋值 构建javaBean:com\springboot\vo\Dog 1:@Component:注册bean到spring容器中 2:添加get set toString方法 3:使用 ...
- Docker 安装 Jenkins , 并解决初始安装插件失败
安装 Jenkins 后,初始化下载插件总是失败,导致安装不成功,重试好几次都是卡在安装插件那. 这里记录下 Docker 下怎么安装 Jenkins ,并解决初始安装插件失败问题. 安装插件失败,其 ...
- 线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!
前言 在部署线上项目时,相信大家都会遇到一个问题,线上的 Bug 但是在本地不会复现,多么无奈. 此时最常用的就是取到前端传递的数据用接口测试工具测试,比如 POSTMAN,复杂不,难受不? 今天陈某 ...