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(‘ ...
随机推荐
- webpack打包优化
https://www.cnblogs.com/vvjiang/p/9327903.html
- 【JDBC】java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
在使用阿里的druid 时,报了一个异常java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized ...
- linux命令总结----转载
1.终端是个奇妙的东西,一开始它的低颜值,高难度可能会令我们灰心气馁. 但是入门之后,你会发现终端命令行是如此强大,简直飞一般的感觉.就是这个feel,倍儿爽~ 享受“弹指间,一切尽在掌握”的感觉. ...
- Python校验文件MD5值
import hashlib import os def GetFileMd5(filename): if not os.path.isfile(filename): return myHash = ...
- webapp优化
1. 优化前提: 业务架构与数据库设计 2. 单页web应用 : ExtJs backbone ng avalon 框架: React Native , ionic , Mui, m ...
- Unity 角色移动贴墙行走
直接贴上代码,旋转角色角度检测碰撞 Vector2 v2Normal = new Vector2(normal.x, normal.y); float fAngle = Vector2.SignedA ...
- sed awk
sed -n 's/,*$//g;s/,\+/,/g;/,/p' test.csv 去除行尾逗号,将多个连续逗号合并,过滤没有逗号的行 awk -F, 'NF>5 split($1,a,&quo ...
- 从本地上传项目到 github 以及从github 下载项目到本地环境
前置条件:成功安装github,安装成功后,要配置密钥,不然上传不成功,要报错 具体上传步骤: git init //初始化 git add 文件名 //更新文件 git commit -m ...
- Redis数据类型-Strings
Redis 简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI ...
- Windows Server 2012 配置远程桌面帐户允许多用户同时登录
网上找了很多关于设置远程桌面最大连接数的文章,大都是说先要到控制面板的管理工具中设置远程桌面会话主机等,大体和我之前的文章<设置WINDOWS SERVER 2008修改远程桌面连接数>里 ...