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. 【443】Tweets Analysis Q&A

        [Question 01] When converting Tweets info to csv file, commas in the middle of data (i.e. locati ...

  2. idea中copyright使用

    1,在idea中找到settings->Editor->copyright->copyright profiles,然后点击+,输入名字,在copyright text中输入模板.然 ...

  3. 【翻译】Flink Table Api & SQL ——Streaming 概念

    本文翻译自官网:Streaming 概念  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/streamin ...

  4. 神啊,看看Log4Net这个东西吧

    这个东西实在是让人感动的想哭囊…………-_-..... Log4Net.config文件 <?xml version="1.0" encoding="utf-8&q ...

  5. MYSQL 递归操作

    MYSQL 递归? ===================== 表: t_node node_id int node_name varchar2(45) parent_id int       级, ...

  6. iOS底层框架浅析

    1.简介 IOS是由苹果公司为iPhone.iPod touch和iPad等设备开发的操作系统. 2.知识点 iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设 ...

  7. java多线程实现多客户端socket通信

    一.服务端 package com.czhappy.hello.socket; import java.io.IOException; import java.net.InetAddress; imp ...

  8. spring结合shiro的学习总结

    pom文件加入 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-c ...

  9. 039 Android SQLite数据库(了解)

    1.介绍 注意:当有大量相似结构的数据需要存储的时候,需要使用数据库. 2.SQLiteOpenHelper简介 注意:数据库的创建方法总结: (1)定义一个类继承SQLiteOpenHelper o ...

  10. linux服务器安装jdk (手动解压方式安装)

    linux服务器安装jdk 使用的是通过手动解压安装的方式,没有通过yum或者apt-get命令安装 准备: 下载一个jdk,版本自选,后缀为(.tar.gz) 开始 创建目录 mkdir /usr/ ...