[摘]selenium-ide编辑命令
----//编辑命令
selenium为我们录制的脚本不是100%符合我们的需求的,所以,编辑录制的脚本是必不可少的工作。
1. 编辑一行命令或注释。
在Table标签下选中某一行命令,命令由command、Target、value三部分组成。可以对这三部分内容那进行编辑。
2. 插入命令。
在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑。
3. 插入注解
以上面同样的方式右击选择“insert new comment”命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解脚本,插入的内容以紫色字体显示。
4. 移动命令或注解
有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。
----//录制我们的第一个脚本
我们的录制流程:
用火狐浏览器,打开一个新的标签-----输入谷歌网址(http://www.google.com.hk/)----在搜索框输入:selenium----点击“google搜索”按钮。
注:注意开启和关闭selenium IDE面板上的红色圆形的录制按钮。
录制的脚本:
----//调试脚本
1. 设置断点。
要设置断点,先选择一行命令,点击鼠标右键,在下拉菜单中选择“Toggle Breakpoint”命令,点击“运行”按钮,脚本会运行到断点处停止。用过myecilpse的debug功能来调试脚本的同学懂的!
2. 通过页面源代码来调试脚本
很多情况下,调试自动化测试案例都离不开查看页面源代码,我们可以借助firefox的firebug工具,关于firebug的安装(浏览器菜单栏---工具---查看组件---搜索firebug---安装并重启浏览器即可)。
如:我们不确定或想获得谷歌搜索按钮的属性。在按钮上右击---查看元素
在浏览器下方打开的firebug工具里面,就可以查看按钮代码了。
3. 定位辅助
当selenium IDE录制脚本时,它会存储额外的信息,支持用户挑选其他格式的定位器来代替默认格式的定位器,这种特殊性对于学习定位器很有用。
我们可以选择其他的命令来代替“name=btnG” 命令,当然,脚本依然是可以运行的。
通过学习,相信我们已经会selnium IDE的基本使用了,为了使selenium 更强大,其实selenium 还提供了良好的扩展能力。
----//用户扩展
用户扩展就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令。
这里有一些列的扩展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions
1.下面我们利用扩展的方式,产生一个用户随机数字
为了使用用户扩展,我们需要一个创建一个文件,当然也可以从上面的链接中下载。文件名为:user-extention.js
//产生随机数 Selenium.prototype.doStoreRandom = function(variableName){ random = Math.floor(Math.random()*10000000); storedVars[variableName] = random; }
//弹出框 Selenium.prototype.doDisplayAlert = function(value, varName) { alert(value); }
//在控件中输入当前日期 Selenium.prototype.doTypeTodaysDate = function(locator){ var dates = new Date(); var day = dates.getDate(); if (day < 10){ day = '0' + day; } month = dates.getMonth() + 1; if (month < 10){ month = '0' + month; } var year = dates.getFullYear(); var prettyDay = day + '/' + month + '/' + year; this.doType(locator, 'dddddd'); }
将上面代码复制到一个记事本里,并另存为一个:user-extention.js的文件
在selenium IDE 中导入此文件,如下图:
选中文件后,点击“确定”按钮。你必须关闭再重启selenium IDE,以便于扩展文件被读取。任何扩展的改变,都要求关闭和重启selenium IDE.
2.转换代码形式
选择Options 菜单下的Format,允许你选择一种语言来保护和战士测试案例。默认是HTML格式。
如果你使用selenium RC 运行测试案例。这个特性可以帮助你将测试案例翻译成编程语言。
我们可以选择“文件”----Export test Case As...来转换我们需要的语言格式。具体实例请参考《selenium RC 环境搭建》
3.在不同浏览器上执行selenium IDE测试。
selenium IDE只能在friefox上运行,但是通过selenium IDE 开发的自动化测试,可以在其他浏览器上运行。只要使用一条简单的命令唤醒 selenium RC 服务器就可以了。
如果浏览器不被直接支持,那么通过使用" *custom "运行模式,你依然可以在浏览器上运行selenium 测试案例。
cmd=getNewBrowserSession&1=*custom c:\Program Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com
如下一段代码:
package com.example.tests;
import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.regex.Pattern;
public class test extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*chrome", http://fnng.cnblogs.com/);
//可以用下面一行的代码来替换上面一行代码
//cmd=getNewBrowserSession&1=*custom c:\Program Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com
//如果是IE浏览器的话,可以直接修改浏览器名称,代码如下:
//selenium = new DefaultSelenium("localhost", 4444, " *iexplore", http://fnng.cnblogs.com/); 这种方式更为简便。
selenium.start(); }
@Test public void testTest() throws Exception { selenium.open("/"); selenium.click("id=homepage1_HomePageDays_DaysList_DayItem_0_DayList_0_TitleUrl_0"); selenium.waitForPageToLoad("30000"); }
@After public void tearDown() throws Exception { selenium.stop(); } }
如何配置java环境来验证我面的一段代码,请参考,我的《selenium RC 环境搭建》
注意:如果通过这种方式启动浏览器,你必须手动配置浏览器,以便将selenium Server 作为代理,通常这仅仅意味着打开你的浏览器参数文件,并指明“localhost:4444”作为HTTP代理。但是,不同浏览器的指令可能完全不一样,这就需要从你的浏览器支持文档中寻找更多细节。
================================================
本文参考:http://luyongxin88.blog.163.com/blog/static/9255807201181114747437/ 流口水的小猪 (他的博客测试文章很多,是我学习的榜样)
[摘]selenium-ide编辑命令的更多相关文章
- Selenium IDE编辑区域修改操作学习
1.修改command.target.value,选择需要修改的步骤,然后点击下方,既可以直接进行修改. 2.添加新的操作步骤:直接在下方编辑区域的下方点击,然后输入或者选择操作类型,然后点击Targ ...
- selenium IDE常用命令
1.open(URL)命令 1.作用:打开指定的URL,URL或者为相对或是绝对的URL 2.target:要打开的URL,value值 ...
- 测试那些事儿—selenium IDE 自动化测试
浏览器 Firefox Setup 35.0.1 安装完成后设置菜单栏 关闭浏览器自动更新 插件配置(必备武器) FireBug Firebug是firefox下的一个扩展,能够调试所有网站语言,如H ...
- 《Selenium自动化测试实战:基于Python》之 Selenium IDE插件的安装与使用
第3章 Selenium IDE插件的安装与使用 京东:https://item.jd.com/13123910.html 当当:http://product.dangdang.com/292045 ...
- Selenium IDE 3.6 命令Command详解
学以致用,个人觉得要学老外的东西,最好的方法就是自己翻译一遍.因此准备把SIDE官网的一些文档,按工作所需做些翻译整理.本文是命令这一块的提纲,未全部完成,占坑中. Selenium IDE中的命令其 ...
- selenium IDE 命令二(断言、验证、等待、变量)
测试用例需要做断言和验证,在seleniumIDE中提供了断言和验证来对结果进行比较 首先通过打开seleniumIDE,在页面任意一个元素右键,选择最后一个选项“show all available ...
- Selenium IDE命令
Selenium IDE中提供了丰富的操作命令,在Selenium IDE的Command的下拉列表框中可以选择使用这些命令. 下面介绍一些常用命令的使用. 1.open open(url) 在浏览器 ...
- 【Selenium】4.创建你的第一个Selenium IDE脚本
http://newtours.demoaut.com/ 这个网站将会用来作为我们测试的网址. 通过录制来创建一个脚本 让我们来用最普遍的方法——录制来创建一个脚本.然后,我们将会用回放的功能来执行录 ...
- 【Selenium】3.介绍Selenium IDE
本文供学习交流之用,没有商业用途,没有盈利. 完全是我自己为督促自己学习而翻译的.翻译的不好,见谅.来源于:http://www.guru99.com/introduction-selenuim-id ...
随机推荐
- 《jQuery UI开发指南》勘误收集
此书由罗晴明 (http://weibo.com/sunnylqm)和我合译完成,此篇博客作为勘误收集而用,若译文有误或者有任何疑问,欢迎留下评论,或者给我发邮件(地址:gzooler@gmail.c ...
- PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法
今天在操作php上传的时候发现了一个问题,就是当php脚步上传的文件大小超过php.ini中post_max_size的限制的时候页面不会给出提醒,文件也上传失败,这个问题感觉应该算是一个另类,今天跟 ...
- 【4】创建一个自己的Bootstrap模板
什么也不说了,直接贴上代码吧,哈哈 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta ch ...
- JS的this本质
1.this究竟为何物? 1.1 全局上下文(Global context ) 在全局运行上下文中(在任何函数体外部),this 指代全局对象window,无论是否在严格模式下. alert(this ...
- Pjax介绍及在asp.net MVC3中使用pjax的简单示例
相信很多人对ajax并不陌生,对ajax的一些优点也了如指掌,如:局部刷新改善用户体验,减少开销,让服务器和浏览器之间的响应更快等. 但是它的缺点也是很显而易见的: AJAX大量的使用了javascr ...
- ubuntu - sudo in php exec
最近写防火墙的WEB版,需要在PHP中调用linux系统命令,但是防火墙有关的执行都需要管理员权限才能执行. 在ubuntu下,Apache2的运行账户默认是www-data,默认是不能通过sudo来 ...
- dorado7第一次使用感受
今天第一次玩dorado,说一下使用的感受 1.首先是优点: 首先是它的学习文档非常丰富,视频,PDF,PPT,实例,社区一应俱全 界面风格已经帮我们做完,无需担心界面美观的问题 与后台交互非常方便, ...
- HTTP错误代码详细介绍
HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 40 ...
- POJ 1404 I-Keyboard (DP)
http://poj.org/problem?id=1404 题意 :手机上的要发短信的话,“我”字需要先按一下9键,再按3下6键,所以,现在想要重新布局每个键上的字母数,让最后的那个值最小,也就是说 ...
- 网上测试了很多关于PYTHON的WEBSOCKET样例,下面这个才成功了
这是最底层的, 嘿嘿,我 还是习惯搞个框架来实现急需要的功能... 这个东东玩得很有意思的.. 服务器端的代码: import simplejson import socket import sys ...