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

#coding=utf-8
from time import *
from selenium import webdriver
"):
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    driver.get("http://192.168.1.222:8881/discuz")
    driver.maximize_window()
    sleep(1)
    driver.find_element_by_id("ls_username").send_keys(user)
    sleep(1)
    driver.find_element_by_id("ls_password").send_keys(pwd)
    sleep(1)
    driver.find_element_by_xpath('//*[@id="lsform"]/div/div/table/tbody/tr[2]/'
                                 'td[3]/button').click()    #登录
    sleep(1)
    users = driver.find_element_by_xpath('//*[@id="um"]/p[1]/strong/a').text    #获取用户名
    if users == user:
        pass
    else:
        raise AssertionError
    return driver

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

#coding=utf-8

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
#coding=utf-8
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测试用例断言的更多相关文章

  1. python+selenium之断言Assertion

    一.断言方法 断言是对自动化测试异常情况的判断. # -*- coding: utf-8 -*- from selenium import webdriver import unittest impo ...

  2. Python+Selenium之断言对应的元素是否获取以及基础知识回顾

    # coding=utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.maximize_window () ...

  3. Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建;学习Python语言,利用Python语言来写测试用例。加油!!!

    Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建:学习Python语言,利用Python语言来写测试用例.加油!!!

  4. 使用python selenium进行自动化functional test

    Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...

  5. python+selenium 自动化测试实战

    一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...

  6. web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  7. Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构

    1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_pa ...

  8. python+selenium封装UI自动化框架

    seleinum框架 框架的思想:  解决我们测试过程中的问题:大量的重复步骤,用自动化来实现    1)配置和程序的分离    2)测试数据和程序的分离    3)不懂编程的人员可以方便使用:使用的 ...

  9. Python+Selenium基础入门及实践

    Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...

随机推荐

  1. Qt编写气体安全管理系统24-地图管理

    一.前言 地图管理的主要功能是将系统中的地图文件做添加和删除,支持常见的jpg.png.bmp等格式图片,图片分辨率建议小于1080P,最好是和目标客户端电脑分辨率一致,这样在拉伸缩放的时候会比较清晰 ...

  2. 转 mysql mysql命令行中执行sql的几种方式总结

    https://www.jb51.net/article/96394.htm 1.直接输入sql执行 MySQL> select now(); +---------------------+ | ...

  3. Day1作业1:登陆接口(加入日志、注册功能)

    流程图如下: 最先考虑使用python中的list,以能取到user_list中的用户信息,但中途发现没有比较好的方法截取取密码,还是新手的缘故,最终选择了使用dict,以方便截取用户名以及相应的密码 ...

  4. [转]jkeyll的安装步骤

    链接地址:https://nxjniexiao.github.io/2018/08/17/jkeyll-install/

  5. web端自动化——selenium测试报告生成、找到测试报告路径、实现发邮件(整合)

    有这样的一个场景: 假设生成的测试报告与多人相关,每个人都去测试服务器査看就会比较麻烦,如果把这种主动的且不及时的査看变成被动且及时的査收,就方便多了. 整个程序的执行过程可以分为三个步骤: ①    ...

  6. mysql开启缓存、设置缓存大小、缓存过期机制

    目录 一.开启缓存 1.修改配置文件my.ini 2.命令方式 二.查看是否生效 1.query_cache_type 使用查询缓存的方式 2.have_query_cache 设置查询缓存是否可用 ...

  7. C++_没有STL不能解决的问题之——<algorithm>

    这个坑好大,慢慢写 一.非修改式序列操作 1.find() 在区间中查找出某元素第一次出现的位置(注意!!是返回地址值) int main(){ ]={,,,,,}; int *b; b=find(a ...

  8. linux编程 新建一个进程的方法

    学习到一种,直接调用系统函数,在类的构造函数中直接启动一个线程,例如,某个类是用来监听串口的,可以直接在其构造函数中调用系统函数,开辟一个进程,在该进程对应的函数中不断while(1){....} h ...

  9. PAT甲级 链表题_C++题解

    链表处理 PAT (Advanced Level) Practice 链表题 目录 <算法笔记> 重点摘要:静态链表 1032 Sharing (25) 1052 Linked List ...

  10. 从零开始学Flask框架-006

    重定向和用户会话 因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求.如果这个请求是一个包含表单数据的POST 请求,刷新页面后会再次提交表单. 基于这个原因,最好别让Web 程序把POST ...