浏览器

  • Firefox Setup 35.0.1
  • 安装完成后设置菜单栏
  • 关闭浏览器自动更新

插件配置(必备武器)

  • FireBug

Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等,但FireBug最吸引人的就是javascript调试功能,使用起来非常方便,而且在各种浏览器下都能使用(IE,Firefox,Opera, Safari)。

  • FirePath
  • HTML元素定位神器,谁用谁知道!

Selenium IDE简介

Selenium IDE是一个Firefox插件,用于记录和播放用户与浏览器的交互。 使用它来创建简单的脚本或协助进行探索性测试。

Selenium IDE安装

Selenium打开运行

  • 工具栏——>Selenium IDE
  • 直接点击菜单栏Selenium 图标

Selenium IDE 自动化实战

任务1:
  • 自动在百度搜索“我要自学网” 然后在搜索结果页面点击进入自学网主页
任务2

实现XX网站自动登录个人账号

  • Test2017
  • 123456test
步骤
  1. 输入测试 Base URL
  2. 打开录制按钮
  3. 在浏览器界面进行相关操作
  4. 回放录制的操作(注意:回放时浏览器一定要处于打开状态)
  5. 保存测试脚本
导入已保存的脚本

文件——> Open——> 选择要导入的脚本

Selenium IDE脚本编辑与操作

1. 编辑一行命令

在Table标签下选中某一行命令,命令由command、Target、value三部分组成。可以对这三部分内容那进行编辑。

2. 插入命令。

在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑。

3. 插入注释

鼠标右击选择“insert new comment”命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解脚本,插入的内容以紫色字体显示。

4. 移动命令或注解

有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。

5.删除命令

选择单个或多个命令,然后点击鼠标右键选择“Delete”

6.命令执行

选定要执行的命令点击单个执行按钮即可,注意:有一些命令必须依赖于前面命令的运行结果才能成功执行,否则会导致执行失败。

Selenium IDE常用命令

open(url)命令

(1)作用:打开指定的URL,URL可以为相对或是绝对URL;

(2)Target:要打开的URL;value值为空

  • 当Target为空,将打开Base URL中填写的页面;
  • 当Target不为空且值为相对路径,将打开Base URL + Target页面。如,假设Base URL为https://www.baidu.com,而Target为/list.aspx?cid=451,则执行open命令时,将打开https://www.baidu.com/list.aspx?cid=451
  • 当Target以http://开头时,将忽略Base URL,直接打开Target的网址;

pause(waitTime)

(1)作用:暂停脚本运行

(2)waitTime:等待时间,单位为ms;

goBack()

(1)作用:模拟单击浏览器的后退按钮; (2)由于没有参数,所以Target和Value可不填;

refresh()

(1)作用:刷新当前页;

(2)由于没有参数,所以Target和Value可不填;

windowMaximize()

(1)作用:将当前的窗口最大化,即设置为全屏显示; (2)由于没有参数,所以Target和Value可不填;

click(locator)

(1)作用:单击一个链接、按钮、复选框或单选按钮;

(2)如果该单击事件导致新的页面加载,命令将会加上后缀“AndWait”,即“clickAnd Wait”,或“waitForPageToLoad”命令;

type(locator,value)

(1)作用:向指定输入域中输入指定值;也可为下拉框、复选框和单选框按钮赋值.

(2)Target:元素的定位表达式;

(3)Value:要输入的值;

select(selectLocator,optionLocator)

(1)作用:模拟人工单击下拉列表框;

selectLocator:指向指定选择元素的元素定位器;

optionLocator:选项的选择器(默认为标签);

(2)选项的选择方式两种 label 和Value

  • label=文本值,基于选项的文本进行匹配(默认方式),如label=three;
  • value=真实值,基于选项的真实值进行匹配,如value=3;

close()

(1)作用:模拟用户单击窗口上的关闭按钮;

(2)由于没有参数,所以Target和Value可不填;

断言与验证

断言

验证应用程序的状态是否同所期望的一致。 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确等等。

断言被用于4种模式+5种手段:

Assert

Assert 断言失败时,该测试将终止。

verify

Verify 断言失败时,该测试将继续执行,并将错误记入日显示屏。也就是说允许此单个验证通过。确保应用程序在正确的页面上。提高脚本的伸缩性。

waitfor

Waitfor用于等待某些条件变为真。可用于AJAX应用程序的测试。 如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超时时间。 一般跟setTimeout时间一起用

store

store 定义变量,可以获取页面的相关元素进行判断。

5种手段:

  • Title 获取页面的标题
  • Value 获取元素的值
  • Text 获取元素文本信息
  • Table 获得元素标签
  • ElementPresnt 获得当前元素。

断言常用的有:

assertTitle(检查当前页面的title是否正确)

assertValue(检查输入框的值, 单选或复选框的值)

VerifyValue() 验证元素的值。

断言设置方法

1.浏览器页面点击鼠标右键->Show All Available commands->选择具体的断言方式,脚本回自动加载选定的断言命令

2.直接在脚本页面编辑

第二章课程小结

走进Selenium新世界的更多相关文章

  1. 2-1 走进selenium新世界

    走进Selenium新世界 浏览器 Firefox Setup 35.0.1 安装完成后设置菜单栏 关闭浏览器自动更新 插件配置(必备武器) FireBug Firebug是firefox下的一个扩展 ...

  2. Windows10+Ubuntu双系统安装[多图]

    最近因为毕设重新回归Ubuntu,手头有一台装了Win10的ThinkPad X240s,最终成功完成了Windows 10 教育版和Ubuntu Kylin 15.10 的双系统配置,下文(多图慎入 ...

  3. Ubuntu双系统安装

    原文链接: http://www.jianshu.com/p/2eebd6ad284d   作者 Volcanoo 2016.01.31 00:07 字数 1737 阅读 141859评论 161喜欢 ...

  4. win10+Linux18.04双系统安装

    给好多可爱的妹子重装了那么多次电脑,懒得码过程,因为我一般每次都要查一查...这次来个综合版吧,超简单,无脑操作. 首先说一下我的电脑Thinkpad + 500G 硬盘 (2014年买的老电脑) 首 ...

  5. CSS基本知识点——带你走进CSS的新世界

    CSS基本知识点 我们在学习HTML之后,前端三件套第二件便是CSS,但CSS内容较多,我们分几部分讲解: (如果没有学习HTML,请参考之前文章:HTML知识点概括--一篇文章带你完全掌握HTML& ...

  6. 腾讯云上Selenium用法示例

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 前言 在上一节我们学习了PhantomJS 的基本用法,归根结底它是一个没有界面的浏览器,而且运 ...

  7. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  8. Python爬虫利器五之Selenium的用法

    1.简介 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的 ...

  9. Python selenium巧用Javascript脚本注入解决按钮点选问题

    前段时间,笔者忙于应付公司组织的雅思考试,白天.晚上但凡有空,笔者都是埋头伏案,啃剑桥雅思(剑4~剑12)的官方模拟题或者做着与雅思考试相关的准备工作,这个过程持续了40余天.最近总算鼓起勇气走进考场 ...

随机推荐

  1. umount 问题

    使用 umount -f PATH 卸载 ➜ ~ cd ➜ ~ umount -f /webserver/page 先 cd 到家目录, 再强制卸载, 如果执行此命令后, 还是提示磁盘"bu ...

  2. u-boot DM初始化流程

    initr_dm dm_init_and_scan dm_init  ((1)创建根设备root的udevice,存放在gd->dm_root中 (2)初始化uclass链表gd->ucl ...

  3. Java中的equals,==,compareTo和compare的比较

    Java中的equals(),==,compareTo()和compare() 首先只有==可以用作两个基本类型数据之间的比较,当然是值比较.当用作两个对象比较时,比较的是对象引用,而不是值比较. 其 ...

  4. 我遇到的Echarts 最大值不显示&平均值不正常

    用Echarts做图表的时候,遇到最大值不显示和平均值不正常的问题,如图: 找了半天,原来是X轴6个坐标有7个数据,只是最后那个数据没有显示出来,而且还是最大的,无语. 加上第七个坐标之后,就显示正常 ...

  5. 直接插入排序java代码

    //直接插入排序(无哨兵) 通过测试 public class InsertSortTest{ public static void insertSort(int[] arr) { for (int ...

  6. JVM(六),java内存模型

    六.java内存模型 1.线程独占部分 (1)程序计数器 (2)Java虚拟机栈 (3)本地方法栈 (4)递归为什么会引发java.lang.StackOverFlowError异常吗 2.线程共享部 ...

  7. java 项目 文件关系 扫描 注释注入(3)

    @RequestParam和@PathVariable用法小结  https://www.cnblogs.com/helloworld-hyyx/p/5295514.html(copy) @Reque ...

  8. js+分布上传大文件

    文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...

  9. 2017FJ省队集训 游记

    2017FJ省队集训 游记 又是一篇流水账 Day 1 今天是省队集训的第一天.早上骑车去八中,到的时候汗流太多浑身湿透被杨哥哥和runzhe2000 d了,一个说我去游泳了一个说我打球了...流完汗 ...

  10. 响应式web布局

    通过不同的媒体类型和条件定义样式表规则,媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都接受min和max用于表达”大于或等于”和”小与或等于”.如:wi ...