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 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...
随机推荐
- C语言中 sinx cosx 的用法
#include<stdio.h> #include<math.h> int main() { double pi=acos(-1.0); double ang ...
- Python常见数据结构-字符串
字符串基本特点 用引号括起来,单引号双引号均可,使用三个引号创建多行字符串. 字符串不可变. Python3直接支持Unicode编码. Python允许空字符串存在,不含任何字符且长度为0. 字符串 ...
- java jdk 中HashMap的源码解读
HashMap是我们在日常写代码时最常用到的一个数据结构,它为我们提供key-value形式的数据存储.同时,它的查询,插入效率都非常高. 在之前的排序算法总结里面里,我大致学习了HashMap的实现 ...
- bat中的特殊字符,以及需要在bat中当做字符如何处理
bat中的特殊字符,以及需要在bat中当做字符如何处理 (2014-02-27 21:16:55) 转载▼ 标签: bat 特殊字符 分类: develop bat中的特殊字符,以及需要在bat中当做 ...
- HttpClient之Get请求和Post请求示例
HttpClient之Get请求和Post请求示例 博客分类: Java综合 HttpClient的支持在HTTP/1.1规范中定义的所有的HTTP方法:GET, HEAD, POST, PUT, ...
- Js 事件原理与事件委托
事件原理三阶段 捕获(有外向内).目标.冒泡(由内向外) 事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点( ...
- echarts多个数据添加多个纵坐标
在我们echarts开发中,肯定会遇到一个问题.那就是当有多个数据且数据大小差距太大时,就会出现有些数据小到看不到的情况.所以在遇到这种情况时,我通常的解决办法就是给他多加一个坐标轴. option ...
- Cobalt Strike系列教程第七章:提权与横向移动
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- B - How many integers can you find 杭电1976
Now you get a number N, and a M-integers set, you should find out how many integers which are small ...
- TortoiseSVN的使用,以及冲突解决办法
接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态, ...