《selenium2 python 自动化测试实战》(18)——webdriver错误截图

webdriver 提供错误截图函数 get_screenshot_as_file(),可以帮助我们跟踪 bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取当前页面的截图保存到指定的位置

# coding: utf-8

from selenium import webdriver
from time import sleep

d = webdriver.Firefox()
d.get("https://www.baidu.com")
sleep(1)
try:
    d.find_element_by_id("kw1").send_keys("自动化")
    d.find_element_by_id("su").click()
except:
    d.get_screenshot_as_file(r"C:\Users\DELL\Desktop\error.png")

d.quit()

以上代码在定位输入框的时候传入了错误的id,这样就无法定位到对应的元素,代码就会走except方法——调用get_screenshot_as_file()方法,传入的参数是图片保存的路径以及保存的文件名。

自动化测试用例的设计

一、主要设计正向用例,因为自动化测试(selenium)识错能力不强

二、每个功能写一个测试用例,而不是一个用例就要把所有功能跑个遍

三、尽量减少代码耦合(就是关联),用面向对象的思想去写代码:每个功能单独写一个函数,用例进行各个函数的调用,而不是每次都要单独重写函数

用例设计大致就这么多,想了解的大家可以百度。接下来我们会进入重点啦,之前讲的都是单独的功能点,接下来就到了unittest模块了,这里会把之前学过的东西结合起来用,也可以说这里学会了你才可以说自己“会自动化测试”了。前面学的那些只是基础知识,接下来就进入重点啦~

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2017-12-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大前端_Web

NodeJS学习二CommonJS规范

Node程序由许多个模块组成,每个模块就是一个文件。Node模块采用了CommonJS规范。

1352
来自专栏Java技术分享

Ajax请求中给全局变量赋值的解决方案

昨天PP遇到一个问题,ajax修改全局变量后,外面获取不到ajax里赋的值,结果为空 问题代码如下图: ? 输出结果如下图: ? 原因: 先在控制台看看是a...

2227
来自专栏Python

flask-script

关于flask_script flask_script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设...

2966
来自专栏coding

Linux笔记2

1582
来自专栏坚毅的PHP

用c++写一个广告系统

用到的基础类库 1、sstream <sstream> 库定义了三种类:istringstream、ostringstream和stringstream,分别用...

3347
来自专栏有趣的django

12.python进程\协程\异步IO

进程 Python中的多线程无法利用多核优势 , 所以如果我们想要充分地使用多核CPU的资源 , 那么就只能靠多进程了 multiprocessing模块中提供...

3918
来自专栏电光石火

给博客添加节日雪花

二话不说先上效果图: ? 需要的朋友请看下面的说明,对JQ比较了解的朋友可以直接下载。 下载地址:jQuery圣诞下雪花.rar 注意事项 ...

2257
来自专栏xingoo, 一个梦想做发明家的程序员

使用gcc编译gdb调试

gcc 在linux系统中,默认是没有安装gcc编译器的,可以通过命令 rpm -q | grep gcc  来查看。安装命令为: yum -y install...

2677
来自专栏nummy

ipython 自动加载 auto_reload 扩展

在开发中django或者flask开发中,调试的时候经常用到manager shell.如果安装了ipython的话,默认是打开ipython的。在调试过程中,...

963
来自专栏C/C++基础

Linux命令(26)——rename命令

功能类似于mv,可实现文件或者目录的重命名,mv不能批量处理,而rename可以。

561

扫码关注云+社区

领取腾讯云代金券