Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common import keys
from selenium.webdriver.support import select
from selenium.common import exceptions
import unittest,time,re
class Baidu(unittest.TestCase):
    #setUp 用于设置初始化的部分,在测试用例执行前,这个方法中的函数将先被调用。这里将浏览器的调用和URL的访问放到初始化部分。#
    def setUp(self): 
        self.driver=webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url=‘http://www.baidu.com/‘
        self.verificationErrors=[]  #脚本运行时,错误的信息将被打印到这个列表中#
        self.accept_next_alert=True  #是否继续接受下一个警告#
    #百度搜索用例
    def test_baidu_serch(self):
        driver=self.driver
        driver.get(self.base_url)
        driver.find_element_by_id("kw").send_keys("selenium webdriver")
        driver.find_element_by_id("su").click()
        time.sleep(2)
        driver.quit()
    #百度设置用例
    def test_baidu_set(self):
        driver=self.driver
        #进入搜索设置页
        driver.get(self.base_url+‘gaoji/preferences.html‘)  
        m=driver.find_element_by_name(‘NR‘) 
        #设置每页搜索结果为100条,先找到ID=NR的标签,再找到ID=NR标签下的option标签value值等于100的选择按钮
        m.find_element_by_xpath("//option[@value=‘100‘]").click()
        time.sleep(2)
        #保存设置的信息
        driver.find_element_by_xpath("//input[@value=‘保存设置‘]").click()
        time.sleep(2)
        n=driver.switch_to_alert()
        n.accept()
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([],self.verificationErrors)
        ‘‘‘
        tearDown 方法在每个测试方法执行后调用,这个地方做所有清理工作,如退出浏览器等。 
        self.assertEqual([], self.verificationErrors) 是个难点,
        对前面verificationErrors方法获得的列表进行比较;如查verificationErrors的列表不为空,输出列表中的报错信息。‘‘‘
if __name__=="__main__":
    unittest.main() #执行用例#

‘‘‘
执行结果如下:
Ran 2 tests in 30.719s  执行测试完所有测试用例,用了70.719S

ok 没有问题

如果你在用例中故意设置一个错误,例如:
百度设置用例中增加这样一行代码,查找到name为DR的标签,并单击它,因为这个是没有的,找不到这个标签,系统会报错,
driver.find_element_by_name(‘DR‘).click()
这时执行结果显示如下:
Ran 2 tests in 70.719s

FAILED (errors=1)
‘‘‘
时间: 2024-10-12 17:45:33

Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例的相关文章

【Python】 做一个简单的 http 服务器

# coding=utf-8 ''' Created on 2014年6月15日 @author: Yang ''' import socket import datetime # 初始化socket s = socket.socket() # 获取主机名, 也可以使用localhost # host = socket.gethostname() host = "localhost" # 默认的http协议端口号 port = 80 # 绑定服务器socket的ip和端口号 s.bin

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本。

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本.

用Python socket实现一个简单的http服务器(post 与get 的区别)

预备知识: 关于http协议的基础请参考这里. 关于socket基础函数请参考这里. 关于python网络编程基础请参考这里. 废话不多说,前面实现过使用linux c 或者python 充当客户端来获取http 响应,也利用muduo库实现过一个简易http服务器,现在来实现一个python版的简易http服务器,代码改编自http://www.cnblogs.com/vamei/ httpServer.py Python Code 1 2 3 4 5 6 7 8 9 10 11 12 13

python编写的一个简单那的WSGI PDF server 的代码

将开发过程比较常用的内容段备份一次,下边内容是关于python编写的一个简单那的WSGI PDF server 的内容. # basic_wsgi_pdf_server.py # Basic WSGI PDF server in Python. # Adapted from: from PDFWriter import PDFWriter from wsgiref.simple_server import make_server host = 'localhost' port = 8888 de

selenium之批量执行测试用例

把写好的测试用例放在指定目录下,使用discover函数扫描该目录,并根据关键字自动筛选需要执行的用例.本例使用Python3.6版本. 1 # 遍历指定目录,批量执行测试用例 2 import unittest 3 4 case_dir = 'D:\\test_case' 5 6 7 def suites_run(): 8 '''运行测试套件,批量执行测试用例''' 9 # discover函数遍历指定目录,按条件过滤文件,返回测试套件列表 10 discover_suites = unitt

Python学习 - 编写一个简单的web框架(二)

在上一篇日志中已经讨论和实现了根据url执行相应应用,在我阅读了bottle.py官方文档后,按照bottle的设计重写一遍,主要借鉴大牛们的设计思想. 一个bottle.py的简单实例 来看看bottle是如何使用的,代码来自http://www.bottlepy.org/docs/0.12/index.html: from bottle import route, run, template @route('/hello/<name>') def index(name): return t

python实现的一个简单的网页爬虫

学习了下python,看了一个简单的网页爬虫:http://www.cnblogs.com/fnng/p/3576154.html 自己实现了一个简单的网页爬虫,获取豆瓣的最新电影信息. 爬虫主要是获取页面,然后对页面进行解析,解析出自己所需要的信息进行进一步分析和挖掘. 首先需要学习python的正则表达式:http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html 解析的url:http://movie.douban.com/ 查看

Python+Selenium进阶版(八)- Python自定义封装一个简单的Log类

目标:如何写一个Python日志类,用来输出不同级别的日志信息到本地文件夹下的日志文件里. 练习场景: 我们需要封装一个简单的日志类,主要有以下内容: 1.生成的日志文件格式是 年月日分秒.log 2.生成的XXX.log文件存储在项目根目录下Logs文件夹下 3.这个日志类,支持INFO,ERROR两种日志级别 4.日志里,每行日志输出,时间日期+执行类名称+日志级别+日志描述 解决思路: 1.在根目录下新建一个Logs的文件夹,获取这个Log的相对路径: 2.日志的保存命名,需要系统时间:

Python+excel实现的简单接口自动化 V0.1

好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态”列: 执行通过的话,如果返回的json有message写入“response”列,如果执行失败,则会将返回的json也写入其中 前期准备: 在excel中依次填上接口.请求类型.需要传的数据.期望返回的状态码以及该接口的说明 代码如下,写的很简陋,甚至都没定义方法什么的,姑且称之为V0.1   后面