Python+Selenium中级篇之7

Stella981
• 阅读 700

本文介绍把截图类方法封装到BasePage.py文件里,这个文件是在前面Selenium方法二次封装文章里创建的,具体代码请到前面这篇里找。我们截图类写死了把截图图片保存到根目录下的Screenshots文件夹里,图片名称是当前系统时间,图片后缀名是png。

新的BasePage.py内容如下:

# coding=utf-8
import os
import time

from test.logger import Logger

mylog = Logger(logger='BasePage').getlog()
class BasePage(object):
"""
主要是把常用的几个Selenium方法封装到BasePage这个类,我们这里演示以下几个方法
back()
forward()
get()
quit()
"""

def __init__(self, driver):
"""
写一个构造函数,有一个参数driver
:param driver:
"""
self.driver = driver

def back(self):
"""
浏览器后退按钮
:param none:
"""
self.driver.back()

def forward(self):
"""
浏览器前进按钮
:param none:
"""
self.driver.forward()

def open_url(self, url):
"""
打开url站点
:param url:
"""
self.driver.get(url)

def quit_browser(self):
"""
关闭并停止浏览器服务
:param none:
"""
self.driver.quit()

def take_screenshot(self):
"""
截图并保存在根目录下的Screenshots文件夹下
:param none:
"""
file_path = os.path.dirname(os.getcwd()) + '/Screenshots/'
rq = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
screen_name = file_path + rq + '.png'
try :
self.driver.get_screenshot_as_file(screen_name)
mylog.info("开始截图并保存")

except Exception as e:
mylog.error("出现异常",format(e))

Python+Selenium中级篇之7

主要看最后一个截图类方法的封装。
测试类相关代码如下:

# coding=utf-8
import time
from selenium import webdriver

from test.basepage import BasePage


class TestScreenshot(object):
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
basepage = BasePage(driver)

def test_take_screen(self):
self.basepage.open_url("https://www.baidu.com")
time.sleep(1)
self.basepage.take_screenshot()
self.basepage.quit_browser()

test = TestScreenshot()
test.test_take_screen()

运行后,可以在根目录下Screenshots文件夹里找到百度首页截图。
本文就介绍了截图类方法添加到BasePage里,介绍了如何保存到根目录下的Screenshots文件夹。

小枫叮嘱读者多敲代码,真枪实弹地实践测试,我也是希望大家都掌握我每天分享的知识点。**(海量免费学习资料,软件测试交流:1140267353 群,还会有同行一起技术交流)**

上一篇    Python+Selenium中级篇之6-Python自定义封装一个简单的Log类

下一篇    

以上仅供参考,希望对你有所帮助!

点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
UIWebView长按保存图片和识别图片二维码的实现方案(使用缓存)
0x00需求:长按识别UIWebView中的二维码,如下图长按识别二维码0x01方案1:给UIWebView增加一个长按手势,激活长按手势时获取当前UIWebView的截图,分析是否包含二维码。核心代码:略优点:流程简单,可以快速实现。不足:无法实现保存UIWebView中图片,如果当前We
浩浩 浩浩
3年前
【Flutter实战】图片和Icon
3.5图片及ICON3.5.1图片Flutter中,我们可以通过Image组件来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。ImageProviderImageProvider是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvi
Wesley13 Wesley13
3年前
STM32嵌入式开发学习笔记(二):将功能封装为库文件
将所有的函数都堆在main.c文件里不是好的选择,庞大的代码文件会是你维护的障碍,明智的做法是,一种功能封装到一个库文件里。库文件就是你代码开始部分写的include<xxxx.h里面的xxxx.h,让我们打开stdio.h文件看一看里面具体有什么内容。!(https://oscimg.oschina.net/oscnet/71321f0b3
Stella981 Stella981
3年前
CococsCreator 常用UI组件(Canvas、Widget、Button、Layout、EditBox、RichText、ScrollView)(第十三篇)
一、Canvas组件这个Canvas组件在前面篇章有讲过的。!在这里插入图片描述(https://oscimg.oschina.net/oscnet/up7e35da59f73f899db7689319ddd07379.png)属性说明DesignResolution设计分辨率(内容生产者在制作场景时使
Stella981 Stella981
3年前
Mac python3 环境下 完善pdf转jpg脚本
由于样本图片数据都是保存在pdf里,想拿到样本必须先把图片从pdf中提取出来,算是数据清洗中的一点小小的积累吧。这里不得不吐槽一下公司存储图片的机制,业务员把jpg格式的照片放到word里,然后用工具把word保存为pdf,最后上传到公司服务器里,这简介反人类,不但丢失了图片头文件信息,还造成后期数据转换的大量时间资源的浪费,可能pdf格式会小一
Stella981 Stella981
3年前
Cypress web自动化29
前言做web自动化的时候,我们希望用例失败了能截图,这是之前用selenium写ui自动化用例的时候经常遇到的问题。cypress可以说是业界良心了,不仅帮我们失败的时候自动截图保存下来,还把每个用例都录制成了mp4的小视频,方便追踪问题的时候回复视频screenshots失败截图
Easter79 Easter79
3年前
'webpack' 不是内部或外部命令,也不是可运行的程序 或批处理文
运行项目时报错: 'webpack'不是内部或外部命令,也不是可运行的程序或批处理文因为当时报错到时候没截图,我这里就不放图片了报这个错时因为没有全局安装webpack,解决方法:1.确保nodeJS已安装2\.找到nodejs目录,我的目录是图片上这个,你的可能不一样,看下有没有以下两个文件,没有就新建!(https://
Stella981 Stella981
3年前
Cocos Creator 中图片边缘出现白边
版本:2.3.4图片边缘出现白边!(https://img2020.cnblogs.com/blog/1062174/202006/106217420200624213621152134301574.png)在资源文件夹里找到这个图片,在属性检查器里勾选Premultiply Alpha选项!(https://img2020.cn
Easter79 Easter79
3年前
Sublime text 3 个人设置配置注释
1,复制一份原始配置文件把sublimetextpreferencesSettingsDefault文件里的所有内容都复制到sublimetextpreferencesSettingsUser文件里,2,配置注释:// Place your settings 
Stella981 Stella981
3年前
Linux下配置svn服务随机启动
在Linux下开机启动svn首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写到一个文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d,rc2.d一直到rc6.d的文件夹,这些都是linu