第 2 章 Selenium IDE 的使用

Selenium IDE,官方给出的一个总结是:「针对 Web 自动化的一种录制回放型的解决方案。」它提供了很简洁的录制流程,初学者非常容易上手。

最新的Selenium IDE支持Chrome和Firefox浏览器。

2.1 Selenium IDE 介绍

相信很多初学 Selenium 的同学都接触过 Selenium IDE。该工具完全图形化操作,不但支持录制,还可以将录制脚本导出生成其他编程语言的脚本(如 Java、Python 等)。

Selenium IDE 是一款基于浏览器的插件,早期版本只支持 Firefox 浏览器,但从 3.x 版本之后,Selenium IDE 需安装插件才可以导出脚本。本章仅介绍 Selenium IDE 的常用功能。

2.1.1 Selenium IDE 的安装步骤

(2)再安装 Selenium IDE

Selenium IDE 2.9.1 版本,兼容小于等于56版本的火狐浏览器

安装完成后,在浏览器的菜单栏中选择「工具 →Selenium IDE」选项,如图 2.1 所示。Selenium IDE 的图形化界面如图 2.2 所示。

图2.1

图2.2

(3)Chrome_86.0.4240安装selenium-ide.zip(v3.17.0)

3.2 拓展程序——>开发者模式——>加载已解压的拓展程序

2.1.2 Selenium IDE 的功能界面与工具栏介绍

Selenium IDE 主界面区域介绍如图 2.3 所示。

常用工具栏介绍如下。

2.1.3 Selenium IDE 脚本介绍

本节介绍录制脚本和增强脚本的方法。录制脚本的步骤如下。

(1)打开百度首页(https://www.baidu.com)。

(2)在首页单击「新闻」超链接。录制结束,录制界面如图 2.4 所示。

(3)脚本展示区有 2 行数据,第 1 行显示 Commands 值为「open」,Target 值为「/」;第 2 行显示 Commands 值为「clickAndWait」,Target 值为「link= 新闻」。

(4)脚本保存名为「se_ide1」,并且左下角「Runs,Failures」统计值显示,脚本回放成功。

图 2.4

增强脚本,以单击「热点要闻超链接」为例,步骤如下:

(1)验证新闻主页面的元素,超链接「热点要闻」。

(2)添加 assertText 要素到之前录制的脚本中,如图 2.5 中箭头所示,添加的 Command 是「assertText」;Target 是「link= 热点要闻」;Value 是「热点要闻」。这说明此时的检查点设置是检查页面「热点要闻」字符串。如果有,则检查通过,脚本继续执行;如果没有,则检查未通过,脚本停止执行。如图 2.5 所示的执行日志显示,脚本执行和检查点检查都成功了。

图 2.5

2.1.4 waitforText、assertText 和 verifyText 命令讲解

waitforText:从字面意思上理解,就是用来判断指定文本是否在页面上显示。如果显示,脚本继续执行;如果等待一段时间后,没有显示指定文本,则标记脚本执行失败,但测试脚本会继续执行。

assertText:表示在执行测试时,判断页面上的文本是否与期望显示的文本相同。如果相同,则测试脚本会继续执行;如果不同,则标记脚本执行失败,且脚本后续部分不会继续执行。

verifyText:表示在执行测试时,判断页面上的文本是否与期望显示的文本相同。如果相同,则测试脚本会继续执行;如果不同,则标记脚本执行失败,而脚本后续部分会继续执行。

2.1.5 通过实例讲解 storeTitle 命令和 echo 命令

storeTitle 命令的作用是,将网页的 title 属性值存储到指定的变量中。

echo 命令的作用是,在控制台打印输出,常用于脚本调试的过程。

以百度首页为例,讲解 storeTitle 和 echo 的用法,步骤如下:

(1)打开 Firefox 浏览器,单击「工具」菜单,然后选择「Selenium IDE」选项。

(2)设置 Selenium IDE 为录制状态。

(3)在 Base URL 中输入 https://www.baidu.com,然后按「Enter」键。

(4)增强优化展示区脚本,具体如图 2.6 所示,添加「open」「storeTitle」和「echo」命令。

图 2.6

(5)执行脚本,执行日志如图 2.7 所示,浏览器窗口的 title 属性打印成功。

图 2.7

2.2 从 Selenium IDE 导出脚本

Selenium IDE 工具的一个重要的功能是,录制过程可以导出生成多种编程语言。通过录制脚本到自动化脚本的转换,可以提高工程师的脚本编写效率。这里通过 2.1.5 节中的例子来演示从 Selenium IDE 导出脚本并运用在自动化测试中的过程,步骤如下:

(1)在 IDE 窗口选择「文件->Export Test Case As..」选项,然后选择「Python 2/unittest/WebDriver」选项,如图 2.8 所示。

图 2.8

(2)保存.py 文件。自动化脚本如下所示:

(3)新版Selenium IDE 3导出支持pytest格式代码

通过以上实例的演示,可以认识到 IDE 在一些比较简单的自动化测试项目中使用是比较适合的。但是对于相对长期的、稳定的和复杂的自动化项目来讲,不太适合使用 Selenium IDE 录制脚本的方式。

python selenium ide使用_第 2 章 Selenium IDE 的使用 Selenium 3+Python 3 自动化测试相关推荐

  1. python画爱心原理_程序员式优雅表白,教你用python代码画爱心

    还能用python代码画爱心?还有这种操作?这是什么原理? 不相信python代码可以画爱心?先来一张效果图来看看效果吧!PyCharm pro Mac-PyCharm pro for Mac( Py ...

  2. 调用python接口并画图_【PySpark源码解析】教你用Python调用高效Scala接口

    点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 机器之心专栏 作者:汇量科技-陈绪 众所周知,Spark 框架主要是由 Scala 语言实现,同时也包含少量 Java 代码.Spa ...

  3. python dict批量选择_这一定是你见过最全面的python重点

    由于总结了太多的东西,所以篇幅有点长,这也是我"缝缝补补"总结了好久的东西. Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认st ...

  4. 青少年编程python一级真题_青少年编程能力等级测评试卷二及答案 Python编程(一级)...

    青少年编程能力等级测评试卷 Python编程(一级) (考试时间90分钟,满分100分) 一.单项选择题(共20题,每题2.5分,共50分) 1. 运行下方代码段,输出是6,则输入的可能是( C ). ...

  5. python turtle代码大全_通过构建简单的骰子游戏学习如何使用Python编程

    Python是一种通用的编程语言,可以用于创建桌面应用程序.3D图形.视频游戏,甚至是网站.它是一种很棒的第一编程语言,因为它很容易学习,而且比复杂的语言(如C.C++或Java)更简单.Python ...

  6. python视屏教程_终于拿到了清华学霸整理出来的全套Python视频教程+项目源码+笔记...

    为什么要学习Python?机器学习?数据分析?爬虫? 在找到一本Python书啃之前,一定要问问自己为什么要学习Python? Python在这近几年里面越来越受追捧,很多的同学小伙伴都想用Pytho ...

  7. python可以修图吗_会照片处理的不只是ps,还有Python!

    女朋友老是吵着要修图,作为程序员,只会敲代码,不会ps啊,真是令人头大. 程序员是这么容易被难到的吗?肯定不会!最近发现了程序员的p图神器--python. python也可以修图吗?是滴!下面就带你 ...

  8. python大型项目经验_经验丰富程序员才知道的8种高级Python技巧

    全文共2330字,预计学习时长11分钟 图源:unsplash 本文将介绍8个简洁的Python技巧,若非经验十足的程序员,你肯定有些从未见过.向着更简洁更高效,出发吧! 1.通过多个键值将对象进行排 ...

  9. 运维学python用不上_数读 | 为什么运维朋友们都需要学Python?

    运维人员需不需要学开发?需不需要学Python?PythonN和Shell有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能, ...

最新文章

  1. OSI中端到端与点到点区别。
  2. html(超链接定义锚点与特殊符号转义)
  3. 盘点3个改变世界的AI项目,NLP/CV/BI,3个方向
  4. android 自定义text,android – 使用自定义textSize实现自定义TextView
  5. matplotlib图表介绍
  6. 计组之数据运算:3、定点数、浮点数
  7. 微信公众平台开发教程(二) 基本原理及消息接口
  8. 程序员薪资怎么论高级还是初级_和程序员一样高薪,却过着清闲生活,测试员什么人都可做吗?...
  9. scrapy如何指定生成python3的项目_python3+Scrapy爬虫实战(一)—— 初识Scrapy
  10. 【NodeJS】基础知识
  11. NumberFormat格式化数字
  12. 新版Airplayer--新功能介绍
  13. cadlisp框选打印_在CAD中实现批量打印
  14. 电脑上计算机三个键盘的使用方法,干货:全方面介绍电脑键盘各键功能与组合键使用方法...
  15. 88E1111 100BASE-T百兆工程(part1)
  16. 【Scrum模式语言4】游戏精神 (The Spirit of the Game )
  17. WPS如何将金额快速改为万元显示
  18. 什么是Python中的套接字编程?
  19. word 多级标题的编辑
  20. Sublime Text 3 汉化的简单方法

热门文章

  1. sklearn自学指南(part5)--使用手册的目录
  2. 清华大学python课程_清华大学计算机系课程攻略
  3. 我的2020年度总结
  4. SAP Commerce Cloud Accelerator theme css 加载的问题和 multi step checkout
  5. SAP中国招聘内部顾问,工作职责是做客户项目,ABAP开发
  6. SAP Spartacus的login页面路由
  7. ant build里如何指定classpath
  8. Gradle里Copy任务(task)的使用
  9. HiveMQ web client客户端运行出错的错误分析
  10. 一个能极大提高生产率的Chrome新建标签页扩展