selenium自动化常用函数
前段时间弄一个测试框架,满足公司简单网站的测试,整合了一个函数模块,包括常用的截图、邮件发送、测试报告生成,具体代码如下
import smtplib
from BSTestRunner import BSTestRunner #报告的模板,这里没用到
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import os #截图sc_image
def sc_image(driver,filename):
#获取当前模块所在路径
func_path=os.path.dirname(__file__)
#获取test_case目录
base_dir=os.path.dirname(func_path)
#将路径转化为字符串
base_dir=str(base_dir)
#对路径的字符串进行替换
base_dir=base_dir.replace('\\','/')
#获取项目文件的根目录路径
base=base_dir.split('/Website')[0]
#指定截图存放路径
filepath=base+'/Website/test_report/screenshot/'+filename
print(filepath)
#截图
driver.get_screenshot_as_file(filepath) #发送邮件函数
def send_mail(latest_report,subject):
#账号信息等
smtpserver = "smtp.163.com"
user = "******@163.com" #邮件账号
password = "******" #输入邮件服务的密码
sender = "******@163.com" #发送邮件的账号
receives = ['******@qq.com', ''] #收件人,这里可以是多个收件测试人员
subject = subject
mail_content='详细请看附件' #邮件的标题 # 构造附件内容
file_path = latest_report
send_file = open(file_path, 'rb').read()
name = os.path.basename(file_path)
att = MIMEText(send_file, 'base64', 'utf-8')
att['Content-Type'] = 'application/octet-stream'
att.add_header('Content-Disposition', 'attachment', filename=('gbk', '', name)) # 可以实现中文附件名称 # 构造发送与接收信息
msg = MIMEMultipart()
msg.attach(MIMEText(mail_content, 'html', 'utf-8'))
msg['subject'] = Header(subject, 'utf-8')
msg['From'] = sender
msg['To'] = ','.join(receives)
msg.attach(att) #发送邮件
smtp=smtplib.SMTP_SSL(smtpserver,465)
smtp.helo(smtpserver)
smtp.ehlo(smtpserver)
smtp.login(user,password) print('开始发送邮件!')
smtp.sendmail(sender,receives,msg.as_string())
smtp.quit()
print('发送邮件结束!') #报告函数
def latest_report(report_dir):
lists=os.listdir(report_dir)
lists.sort(key=lambda fn:os.path.getatime(report_dir+'\\'+fn))
print('最新的报告是:'+lists[-1]) file=os.path.join(report_dir,lists[-1])
return file
selenium自动化常用函数的更多相关文章
- python selenium自动化常用关键字
工具安装: 1.安装python 2.安装selenium库(dos命令下进入selenium-2.53.2存放路径,执行pip install selenium-2.53.2) 3.将浏览器驱动放到 ...
- selenium webdriver常用函数
from selenium import webdriver driver = webdriver.Ie(executable_path = "e:\\IEDriverServer" ...
- python中selenium自动化常用关键字
一:定位八种方法 例如: 二:常见的webdriver方法 1.浏览器相关:(打开浏览器先导入webdriver模块) (1)set_window_size(480,800)调整浏览器宽高大小 (2) ...
- Scrapy——5 下载中间件常用函数、scrapy怎么对接selenium、常用的Setting内置设置有哪些
Scrapy——5 下载中间件常用的函数 Scrapy怎样对接selenium 常用的setting内置设置 对接selenium实战 (Downloader Middleware)下载中间件常用函数 ...
- 利用Selenium自动化web测试
简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 ...
- python+selenium自动化软件测试(第2章):WebDriver API
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...
- appium自动化常用API
常用函数 一.获得信息类API (1)获取当前页面的activity名,比如: (.ui.login.ViewPage) current_activity() 比如我们需要实现这个登录的功能时,主要 ...
- selenium自动化过程中如何操作Flash动画
最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...
- plsql 常用函数-转
PLSQL常用函数 1)处理字符的函数 || 或 CONCAT---并置运算符. 格式∶CONCAT(STRING1, STRING2) 例:’ABC’|| ’DE’=’ABCDE’ CONCAT(‘ ...
随机推荐
- 链接错误:multiple definition of 'xxx' 问题解决及其原理
内容借鉴 于CSDN炸鸡叔 错因 截图: “multiple definition of 'head' ” “multiple definition of 'tail' ” 解决过程: 1.首先要 ...
- df命令,du命令,磁盘分区
df 命令 功能:用来检查linux的文件系统的磁盘空间占用情况 1. df -h 2. 以innode节点数量显示磁盘空间占用情况 df -ih 3. 列出文件系统类型 df -Th du 命令 功 ...
- linux尝试登录失败后锁定用户账户的两种方法
linux尝试登录失败后锁定用户账户的两种方法 更新时间:2017年06月23日 08:44:31 作者:Carey 我要评论 这篇文章主要给大家分享了linux尝试登录失败后锁定用户账 ...
- Populate screen data automatically
field zz_test-uname. module populate_record on chain-request. module populate_record input. ztlo_tes ...
- HTTP协议转码
为什么要有转义的功能? 一些特殊字符需要转义,才能被访问,否则变为空格 UrlEnCode与UrlDeCode 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的 ...
- 20164319 刘蕴哲 Exp4:恶意代码分析
[实验内容] ①系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了 ...
- Linux进程的实际用户ID和有效用户ID
转自:https://blog.csdn.net/hulifangjiayou/article/details/47400943 在Linux中,每个文件都有其所属的用户和用户组,默认情况下是文件的创 ...
- 【aardio】]SQL创建、读写 excel
import access; var db,err = access( "/test.xls" ) //文件不存在可自动创建 //创建表 if( ! db.existsTable( ...
- 1,charles的功能能介绍和安装破解
1,charles的功能 1,截取http和https网络包 2,支持重发网络请求,方便后端调试 3,支持网络请求的截获和动态修改 4,支持模拟弱化的网络 2,安装和破解 1,进入官网下载地址:htt ...
- linux学习第十三天 (Linux就该这么学)找到一本不错的Linux电子书
今天主要讲了vftp 服务的配置,不家三种访问方式 一,匿名访问模式 二,本地访问模式 三,虚拟用户模式 和,tftp简单文件传输协议 也讲了要孝试的服务,sabma服务的配置,及wind ...