前言 在脚本运行完成之后,除了在log.txt 文件看到运行日志外,我们更希望能生一张漂亮的测试报告来展示用例执行的结果.        HTMLTestRunner 是Python 标准库的unittest 模块的一个扩展.它生成易于使用的HTML 测试报告.HTMLTestRunner 是在BSD 许可证下发布.        首先要下HTMLTestRunner.py 文件(百度自行搜索). 代码 #!/usr/bin/env python # -*- codinfg:utf-8 -*-…
一.摘要 本篇博文介绍Python和Selenium进行自动化测试时,借助著名的HTMLTestRunner生成自动化测试报告 HTMLTestRunner.py百度很多,版本也很多,自行搜索下载放到自己的工程里调用即可 二.测试代码 # encoding = utf-8 from Run import HTMLTestRunner import unittest import time class StartTest(object): def __init__(self): print("ge…
一.摘要 本博文将介绍Python和Selenium进行自动化测试时,借助html-testRunner 生成自动化测试报告 安装命令:pip install html-testRunner 二.测试代码 # encoding = utf-8 ''' @Time : 2018/8/14 20:41 @Author : davieyang @File : test_AjaxElement.py @Software: PyCharm ''' import traceback from seleniu…
进行之自动化测试,想把自动生成的excle保存到指定的目录下.网上百度的代码如下: import xlwt import time time = time.strftime ('%Y%m%d%H%M%S', time.localtime (time.time ())) w = xlwt.Workbook () # 创建一个工作簿 ws = w.add_sheet ('卡批量入库4.xls') # 创建一个工作表 ws.write (0, 0, '卡号') # 在1行1列写入bit ws.writ…
运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 from HTMLTestRunner import HTMLTestRunner 7 8 class MyTest(unittest.TestCase): 9 '''百度搜索测试''' 10 11 def setUp(self): 12 self.driver = webdriver.Firefox(…
初入python+selenium学习之路,总会遇到这样那样的问题.IndentationError: unexpected indent,这个坑我已经踏进数次了,索性记录下来.都知道Python对代码格式要求挺严格,这个message是在告诉你:你的格式有问题,要检查下tab和空格,可能是没对齐 解决过程: 根据错误位置提示,发现是这个函数除了问题,如下图: 红框圈出的缩进没有对齐,对齐之后就OK了 执行结果成功:  我踏过的,是不曾虚度的昨天,我去向的 ,永远是比今天更好的远方…
用Python为接口自动生成测试用例 基于属性的测试会产生大量的.随机的参数,特别适合为单元测试和接口测试生成测试用例 尽管早在2006年haskell语言就有了QuickCheck来进行"基于属性的测试",但是目前来看这依然是一个比较小众的领域,参考资料有限,本文如有不足,欢迎指正. 1. 基于表的测试 在过去的测试实践中,执行测试时通常需要明确的内容(Value): 条件 输入 结果 这些内容可以通过"判定树"或者"判断表"来表示,然后测试的…
写在前面 爬虫和自动测试,对于python来说是最合适不过也是最擅长的. 开源的项目也很多,例如you-get项目https://github.com/soimort/you-get.盗链和爬虫神器. python+selenium一般用来做自动化测试,也可以用来抽取 html的dom元素,从而作为前端的爬虫使用 这些功能对于一些非常规的需求和自动化测试,可以说是量身打造的. you-get you-get支持的网站,都是直接破解其算法,直接算出playurl的方式,假如有分片,还可以用ffme…
1. 前言 前面讲解了那么多selenium的基础知识,下面用一个简单案例来介绍,此案例主要实现,运行测试,自动生成html报告,并发生邮件. 2. 测试案例 2.1 目录结构介绍 conf:配置信息,目前只增加了邮箱配置相关信息,可以根据需要增加其他配置 data:测试数据,由于是简单介绍,暂空缺,读者可以在此文件夹增加数据,例如百度需要搜索的数据,或登录测试的用户名或密码等 log:运行日志及错误截图(截图可以另外开一个目录) reports:测试报告 runner:所有测试入口 test_…
前言做UI自动化无论你用SDK自带的uiautomatorviewer还是Macaca还是Appium自动的inspector,代码最多的就是那些繁琐重复的找元素后点击,输入,长按.....等.现在偷懒的方式来了,改造uiautomatorviewer,在抓取Xpath的同时,生成点击,输入,长按等操作的代码.Java部分我已经实现,并投入到公司内部的自动化实践中,同事们用着还是很嗨皮的.前贴已经支持兼容支持安装和IOS了,详情见二次开发 uiautomatorviewer 自动生成 xpath…
[转]如何自动生成和安装requirements.txt依赖 在查看别人的Python项目时,经常会看到一个requirements.txt文件,里面记录了当前程序的所有依赖包及其精确版本号.这个文件有点类似与Rails的Gemfile.其作用是用来在另一台PC上重新构建项目所需要的运行环境依赖. requirements.txt可以通过pip命令自动生成和安装 生成requirements.txt文件 pip freeze > requirements.txt 安装requirements.t…
自动生成AWR报告,每个小时生成一次. #编辑脚本:vim awr_auto.sh #oracle用户下执行 #!/bin/bash # 每个小时执行一次,自动生成AWR报告 source ~/.bash_profile AWR_FORMAT=html NUM_DAYS= ONE_HOUR_AGO=`date -d -1hour +%Y%m%d_%H` CURRENT_TIME=`date +%H` MAX_SNAP_ID=`sqlplus -S / as sysdba << EOF set…
前言 一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库.测试数据源.测试对象识别标准,以及种可重用的模块.自动化测试框架在发展的过程中经历了几个阶段,模块驱动测试.数据驱动测试.对象驱动测试.本章就带领读者了解这几种测试模型 1. 自动化测试模型介绍 自动化测试模型是自动化测试架构的基础,自动化测试的发展也经历的不同的阶段,不断有新的模型(概念)被提出,了解和使用这些自动化模型将帮助我们构建一个灵活可维护性的自动化架构 1.1 线性测试 通过录制或编写脚本,一个脚本完成一个场…
读取txt的内容并用百度查找搜索 1 # coding = utf-8 2 3 from selenium import webdriver 4 import time 5 6 # 打开浏览器 7 dr = webdriver.Firefox() 8 dr.get("http://www.baidu.com") 9 10 ''' 11 # 读取列表的 12 words = ['python', 'selenium', 'webdriver'] 13 14 for word in wor…
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用户名.密码正确(2)用户名正确.密码不正确(3)用户名正确.密码为空(4)用户名错误.密码正确(5)用户名为空.密码正确 头文件: import unittest from selenium import webdriver import time #coding:utf-8 import unit…
用qrcode模块生成二维码 # coding = utf-8 import qrcode qr = qrcode.QRCode( version=1, error_correction=qrcode.ERROR_CORRECT_Q, box_size=4, border=2 ) qr.add_data("http://www.baidu.com") qr.make(fit=True) # 产生的二维码根据内容自动扩充版本.举例,指定version=1的尺寸是21*21,但二维码内容可…
前言:  用python执行测试脚本, 测试报告是记录我们测试过程的问题, 方便我们对整个测试过程的把控. 这里引用的是别人写好的模板, 我们拿过来用就OK, 能力强者可自行编写模板 测试报告图模板: 1.第一步:首先下载模块 中文下载地:https://pan.baidu.com/s/1t2zCiuHJRrEHBNPA4Zu2ZQ 英文版下载地:https://pan.baidu.com/s/1DMmDWYlvKIIaTvJZ5brL-A 2.…
发送简单的邮件 用一个QQ邮箱发送到另一个QQ邮件. 首先设置QQ邮箱,邮箱设置 -> 账号 开启SMTP服务,点击开启按钮,按提示进行操作,需要1毛钱的短信费.开启后如下所示 1 # coding = utf-8 2 3 import smtplib 4 from email.header import Header 5 from email.mime.text import MIMEText 6 7 # 发送邮箱 8 sender='12*****@qq.com' 9 # 发送密码,即开启s…
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大化 driver.set_window_size(400,800) # 设置窗口大小 driver.back() # 回退一层 driver.forward() # 前进一层 driver.quit() # 退出浏览器 driver.close() # 关闭浏览器 二.元素定位 # 根据id定位 d…
之前提到selenium加入unittest框架.可以引入HTMLTestRunner扩展.以此来生成测试报告 首先是分享下载的百度云地址 http://pan.baidu.com/s/1pKUItWR 文件名:HTMLTestRunner.py 下载成功后放入相应的python目录下如: “C:\Python27\Lib” 通过python自带的IDLE 如果没有报错.则说明添加成功 之后是利用之前写好的博客园登录脚本 #!/usr/bin/env python # -*- coding: u…
主要实现的目的是:自动将测试报告以邮件的形式通知相关人员 from HTMLTestRunner import HTMLTestRunner import HTMLTestReport from email.mime.text import MIMEText from email.header import Header import smtplib import unittest import time import os # ******************定义发送邮件*********…
本文基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unittest.TestCase): """appium测试类""" def setUp(self): desired_caps = { 'platformName': 'Android', 'deviceName': 'Android Emulator…
前言 Webdriver 提供错误截图函数get_screenshot_as_file(),可以帮助我们跟踪bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取当前页面的截图保存到指定的位置,这是一个非常棒的功能,下面实例展示get_screenshot_as_file()函数的使用. 代码 #!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @author: Jeff LEE @file: 异常截图.py…
场景 webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中,下面以firefox及chrome为例 代码 Firefox下载 为了让Firefox浏览器能实现文件下载,需要通过FirefoxProfile()对其做一些设置. browser.download.foladerList :设置成0代表下载到浏览器默认下载路径,设置成2则可以保存到指定的目录. browser.download.manager.showWhenStarting  :是否显示…
场景 webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt.然后使用text/accept/dismiss/send_keys 按需进行操做. text                        返回alert/confirm/prompt 中的文字信息 accept                   点击确认按钮 dismiss …
场景 前景讲解了鼠标的click()事件,而我们在实际的web产品测试中,有关鼠标的操作,不仅仅只有单击,有时候还包括右击,双击,拖动等操作,这些操作包含在ActionChains类中. ActionChains类鼠标操作的常用方法: context_click()                           右击 double_click()                           双击 drag_and_drop()                      拖动 mov…
场景 测试对象的定位和操作是webdriver的核心内容,其中操作又是建立在定位的基础之上,因此对象定位就越发显得重要了. 定位对象的目的一般有下面几种 操作对象 获得对象的属性,如获得测试对象的class属性,name属性等等 获得对象的text 获得对象的数量 webdriver提供了一系列的对象定位方法,常用的有以下几种 id name class name link text partial link text tag name xpath css selector 代码 login.h…
场景 测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例,所谓用例不够,title来凑就是这个道理.更具体一点,假设1个页面的title应该是'hello world', 那么可以写这样的一个用例:访问该页面,获取该页面的title,判断获取的值是否等于'hello world'. 获取当前页面的url也是非常重要的一个操作.在某些情况下,你访问一个url,这时系统会自动对这个url进行跳转,这就是所谓的'重定向'.一般测试重定向的方法是访问这个url,然后等待页面重定向完毕…
使用说明 程序运行开始,需要输入出发地,目的地,出发时间,乘客信息,车次:乘客信息和车次可以输入多个 刚刚开始学习爬虫,selenium仅仅是解放了双手,运行效率不是很高: 程序运行时会打开chrome浏览器,因为使用的是chrome的浏览器驱动: 相关文档 https://selenium-python.readthedocs.io/installation.html#introduction 代码示例 # encoding: utf-8 from selenium import webdri…
写在开始(本片文章不是写给小白的,至少你应该知道一些常识!) 大家在Unity开发中,肯定会把一些数据放到配置文件中,尤其是大一点的项目,每次开发一个新功能的时候,都要重复的写那些读表代码.非常烦.来个实用小工具,大家随便看看. #-*- coding: utf-8 -*- #----------------------------------------------------------# # 版本:python-3.5.0a3-amd64 # 功能:生成读表代码文件 #----------…