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 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...
随机推荐
- 用ASP.NET MVC5 +SQLSERVER2014搭建多层架构的数据库管理系统
用http://ASP.NET MVC5 +SQLSERVER2014搭建多层架构的数据库管理系统 背景:前段时间,给一家公司做外包(就是图标是朵菊花那家).为了尽快实现交付,网上四处寻找适合中小型企 ...
- GO中的channel使用小结
go关键字可以用来开启一个goroutine(协程))进行任务处理,而多个任务之间如果需要通信,就需要用到channel了. func testSimple(){ intChan := make(ch ...
- 2019-07-28【机器学习】无监督学习之聚类 DBSCAN方法及其应用 (在线大学生上网时间分析)
样本: import numpy as np import sklearn.cluster as skc from sklearn import metrics import matplotlib.p ...
- FreeRTOS操作系统工程建立和操作系统的概念
一.建立工程步骤如下: 二.详细步骤流程如下: 1.新建工程文件夹,然后在里面建立如下几个文件: 2.使用keil5建立工程: a.建立工程: b.添加内核文件: 3.建立文件分组: 4.创建main ...
- B - Bash and a Tough Math Puzzle CodeForces - 914D (线段树的巧妙应用)
题目大意:当输入2时,将p处的点的值修改为x, 当输入1时,判断区间[L,R]的gcd是否几乎正确,几乎正确的定义是最多修改一个数,使得区间[L,R]的gcd为x. 题解:用线段树维护一个gcd数组, ...
- overload 与override的区别
Override 是重写: 方法名称.参数个数,类型,顺序,返回值类型都是必须和父类方法一致的.它的关系是父子关系Overload 是重载: 方法名称不变,其余的都是可以变更的.它的关系是同一个类 ...
- Springboot:修改默认端口以及Logo(三)
端口修改 在application.yml文件中增加端口的配置: server: port: 8081 Logo修改 Logo生成网址: https://www.bootschool.net/asci ...
- MySql的数据库方言问题
在使用hibernate将po(一般对象类)转化为数据库表时,如果mysql的版本为5.0之前的,则方言写为:<property name="dialect">org. ...
- git工具上传项目到码云
首先,你需要在本地安装git客户端,此处简单易懂,略过然后,在本地建好文件夹,以本人为例,我的路径为 E:\git_project,此时需要通过鼠标右键选择:git bush here 如图所示然后会 ...
- 打印js对象内容
function writeObj(obj){ var description = ""; for(var i in obj){ var property=obj[i]; desc ...