版本:v3.0 官方最新版大小:750KB
类别:编程辅助系统:WinXP, Win7, Win8, Win10
立即下载selenium ide插件是一款可以帮助用户们进行自动化测试的强大插件,该插件可以说是火狐浏览器使用者们的必备软件,具体的安装教程如下,感兴趣的朋友们快来下载吧!
Selenium IDE 是一个为进行Selenium测试的集成开发环境工具.Selenium测试可以用HTML table编写,也可以用其他语言来编写,比如C#,php,Perl,python.IDE可以为我们录制,编辑和调试测试.目前IDE以addon的形式只支持Firefox.安装完毕后需要重启firefox,注意当前最新的IDE 2.9.1与Firefox 40+不太兼容,建议使用40以下的版本!
步骤1:启动Firefox,然后下载Selenium IDE 在Selenium IDE部分,单击显示如下所示当前版本号的链接.
步骤2:Firefox的附加组件通知弹出了允许和禁止的选项.用户必须允许安装.
步骤3:加载项安装程序发出警告不可信的附加组件的用户.点击"Install Now".
步骤4:Selenium IDE现在可以通过浏览访问 'Tools' >> 'Selenium IDE'.
步骤5:在Selenium IDE,也可以直接从快速访问菜单栏访问,如下图所示.
脚本录制完成之后,在Selenium IDE的Source中,即可以看到脚本的代码了,将Python语言的脚本复制出来,新建到一个Test.py的文件中,可以看到,代码如下,再次本着 不错过任何理所当然的不用加以说明的呃必然步骤的精神,小做分析一下("’这种形式的在Python里是一种注释,暂用这个进行解释说明"’).
# -*- coding: GBK –*-
"’这行是编码的字符集格式,默认这行是看不见的,并且默认应该是# -*- coding: cp936 -*-,因为我们测试中很多情况下要用到中文字符,使用cp936的话,对中文支持不是很友好,所以还是应该换成GBK的"’
from selenium import selenium
import unittest
"’引用selenium跟unittest文件,其中selenium用于对selenium内核的引用,从而可以使用selenium.而引用unittest则是用于驱动测试过程"’
class youdaoTest(unittest.TestCase):
"’定义一个类youdaoTest,继承unittest.TestCase,相当于C++里继承时使用childClass::parentClass,TestCase类是Selenium里有来描述测试用例的类"’
def setUp(self):
"’def用来定义类的函数,(self)类似于一个指针,指向自己,相当于this"’
self.selenium = selenium("localhost", 4444, "*iexplore", "https://account.youdao.com/")
"’对youdaoTest的selenium进行定义,具体参数下篇文章再解释,只要记住本地运行的话,只要把最后一个参数改成你要测试的网址就行了"’
self.selenium.start()
"’使用前一行对selenium的初始化及配置参数,开始youdaoTest的selenium的测试"’
def test_youdaoTest(self):
"’具体测试内容、测试过程的脚本"’
sel = self.selenium
"’这行主要是为了在后面对self.selenium表示方便,改一下名称.在python里,这种使用=的方法,是一种类似于指针的方法"’
sel.open("/login?service=gouwu&back_url=http%3A%2F%2Fgouwu.youdao.com%2Ffanxian%2Fuser%3F%26keyfrom%3Dgouwu.index.topright")
"’我在录制的时候,这个参数是跟在之前那个http网址的后面的,在录制的时候被自动拆分成了两个过程,没有参数的话,这里可以是/"’
sel.type("username", "room001@yeah.NET")
sel.type("password", "123456")
"’表示我对一个id="username"的网页对象type输入了room001@yeah.net这个参数,该对象的id值,一般可以通过在网页上该元素身上右键-Inspect Element来查看到的,当然,这个查看命令一般是浏览器自带的,不同的浏览器略有出入"’
sel.click("//input[@value='' and @type='submit']")
"’这个是取网页对象的精华所在.很多时候,网页上的某个元素是没有明确id的,这时候就需要这种方式来选取,Xpath用法,以后会详解.这里这个命令大概是说对一个value=""(或没有value),type="submit"的<input>元素进行click操作"’
sel.wait_for_page_to_load("30000")
"’等等缓冲"’
sel.click(u"link=我的订单")
sel.wait_for_page_to_load("30000")
f2 = sel.get_text("//div[@id='j_odt_Loader']/table/tbody/tr[2]/td[5]")
f1 = sel.get_text("//div[@id='j_odt_Loader']/table/tbody/tr[1]/td[5]")
"’这又是一个精髓,继前面的click那行,又有很多时候,不止没有id,设置连value、type什么的都是一样的(常见于表格等等循环做出来的东西),这个时候,就需要对重复的元素(一般是div)进行个排序,从上倒下,1,2,3,4,5…..,tr[2]/td[5]也就是说那个table的第2行,第5列(也有可能数字有个偏差…).这里f1/f2是我用来取数用的变量"’
f1=float(f1[:4])
f2=float(f2)
"’这个是这个用例里用来验证的代码,因为get_test取到的是字符串,这里转化成了数字f1/f2,其中f1取得太长了,有不想要的字,直接截取了一下前四位"’
sel.click(u"link=我的帐户")
sel.wait_for_page_to_load("30000")
self.assertEqual(str(f1+f2), sel.get_text("//div[@id='fxuc_dashboard']/div[2]/div[1]/table/tbody/tr[2]/td/strong"))
"’seeretEqual用来验证后面的第二个参数是不是和第一个参数相等.一般相等的话,Case就Pass了,不相等就Fail了.这里第一个参数是f1+f2,然后转化成了字符,再去比较"’
def tearDown(self):
self.selenium.stop()
"’用来在执行完testcase之后表示让selenium停止"’
if __name__ == "__main__":
unittest.main()
"’这个if语句,是用来判定这个.py文件是不是在单独运行.简单的说,如果这个py文件是在单独运行,或者说是个主程序,那个它的__name__就会是__name__ ,如果不是的话,或者说是用来被import的话,那么它的__name__就会是它的文件名,也就是Test.unittest.main()是用来驱动我们所定义的youdaoTest来执行里面的代码的,所有def都会按selenium所定义的顺序来执行"’
查看全部