本次博客主要是搭建微博,及发送的微博的自动化测试。欢迎大家批评指正。
我个人用的win7 32为系统
一、配置环境
一、准备好以下软件和工具:
1、jdk-6u26-windows-i586.exe
2、firebug-1.10.6-fx.xpi
3、selenium-ide-1.9.0.xpi
4、selenium-java-2.25.0.jar
5、eclipse-jee-indigo-SR2-win32
6、记事狗微博文件(下载地址http://www.jishigou.net/download.html
进去下载
)下载后直接解压出来,平且命名为文件名字为weibo
7、xampp1.8.1当然我这是32位的,低一点的版本也行,直接谷歌搜索下载。
8、selenium_jars
下载地址http://seleniumhq.org/download/,拉到网页下面点击
下载后解压出来后把
拷贝到其中的libs文件中
再到https://github.com/KentBeck/junit/downloads网站下载
,并且拷贝到libs问价中。
9、火狐浏览器,最好是最新版,不然可能会出现兼容问题。
二、配置步骤
1、安装jdk-6u26-windows-i586.exe,没有什么特殊要求,按默认安装在c盘按照提示安装就行
然后就能在C:\Program Files\Java中看见安装文件了。
2、配置环境变量,点击计算机属性-高级系统设置-环境变量,在系统变量下新建,输入如下内容
变量值就是进入JDK的安装文件,把jdk1.6.0_26的位置复制过来
3、同样的方法再新建个系统环境变量
4、在系统变量中找到Path,点开,再在JDK的jdk1.6.0_26中找到bin路径复制BIn的路径
再在Path的最后先点个分号,再把BIn的路径粘贴进去,点击确定。
4、验证下是否安装成功
点击开始运行CMD,键入命令java -version
出现
表示安装那个成功
5、安装eclipse-jee-indigo-SR2-win32,按照提示安装,没什么特殊要求
6、安装firefox最好在网上下载最新版,按提示安装;
7、安装好firefox后,打开firefox,把selenium-ide-1.9.0.xpi直接拖到firefox中,会出现
在工具中看见
同理安装firebug-1.10.6-fx.xpi,在firefox浏览器的空白处右击出现
表示安装成功
8、安装xampp
点开xampp,点击
运行后出现下面就表示安装成功
如果没有就看看错误原因,按提示安装。
9、安装好xampp后,点击
,选择英文语言,进入
点击MySQL右边的Start,出现
呈现绿色,表示成功
点击Apache右边的Start启动
注意由于各个机器的配置不同,由于我的80端口被占用,所以,我更改了了D:\xampp\apache\conf 下的httpd.conf文件,把其中
的80全部改为了8081 ,(如果Apache不能正常启动,可以尝试)。
10、验证是否成功启动,运行CMD
输入如下指令,由于我的xampp装在D盘,所已第一个指令是d:
输入倒数第二行的指令,会有enter password 的提示,直接按enter键(因为xampp默认的密码为空)
接着出现一下界面就表示安装成功
11、准备好的weibo整个文件拷贝到D:\xampp\htdocs下
二、本机上搭建微博
1、打开firefox,在地址栏中输入
注意,如果你没有改变Apatche的端口(默认为80),则只需要输入http://localhost,点enter进入
出现一下界面表示成功
2、进入上一步的界面后,再在地址栏中输入http://localhost:8081/weibo/install.php,进入搭建微博的界面,
拉到最下方
点击下一步,进入
3、在配置数值,
(1)数据库服务器localhost:后面的值必须跟
中的数值一致,比如我的都是3306
(2)数据库用户名就是默认的root,密码不填为空
(3)填写数据库名称,这时要建立一个数据库仍是在
这个窗口中接着输入指令
出现OK表示建好,数据库名称填写weibo
(4)邮箱随便填写一个
4、点击下一步进入一下界面
密码自己设置,点下一步出现
表示微博搭建成功。
5、点击网页最下面的提示进入微博或者直接在地址栏中输入http://http://localhost:8081/weibo
进入微博
然后立即注册一个微博
回头登陆进入微博,发布微博验证。
三、发布微博及自动化测试。
1、安装selenium-java-2.25.0.jar
运行CMD
键入一下命令
点击enter,最后几行出现
表示安装成功,安装好之后不要关闭,之后的测试要用到
2、打开firefox,在工具栏中点击
,出现
先点一下右上角的,再点击一下firefox的空白页,再点击一下(这个过程是对firefox网页的激活)
3、在地址栏中输入http://localhost:8081/weibo/进入微博,用已经有的账号登陆,注意点掉
前面的钩(一下的登陆微博都是要去掉前面的钩)。进入微博后发一个微博,再退出,然后再进入微博(这是不要发微博),直接退出
然后在这个界面中就会有记录如
(英文相信大神们都能看懂,密码涂掉了)
然后自己先可以测试一下,把id=i_already 后面的内容改下(如把测试改成111),然后光标点到0pen,再点击
运行,若是出现
表示成功,登陆微博验证是否发布111
接着
保存这个case,点击文件—save test case,保存在一个文件夹中
再点击文件—export test case-
然后会在文件夹中出现两个文档,后缀名分别为java和html.
4、打开eclipse,新建一个java工程,
(1)然后在窗口右边的右击工程名New-source folder ,命名test如图
再同样的方法在工程名下new一个folder,
(2)接着把准备的的libs文件夹中的内容全选复制,点击工程下的libs粘贴,出现
(3)有工程名—buildpath-configer build path,进去后选择Libraries,点击Add JARs,在出现的的窗口中,
点开libs,把其中的文件全选,点击OK,出来。在工程下已建立的test右击建一个package,名字规范就行。
再右击工程下test点开后一行出现
other中的改为UTF-8,同理改一下工程下的src的属性。
(4)在右击上一步产生的Packaged新建一个class
把前面的第三大步骤中的3(1)中的以java为后缀的文件打开,把其中的文件拷贝出来,粘贴到刚才新建的class中。会出现以下错误
点击package左边的灯泡形状标志,选择自己刚建立的包,再在class下添加以下代码
再按住ctrl+shift+o键完成import的自动修改
(5)接着就可以修改发布微博的内容并发送微博
就是可以修改
的内容,如你可以把"jugg"改为"test测试"。(这里jugg是我已经修改过的)
点击类名Run as,点击
运行,若左边出现
表示成功。可以进入微博验证发布的内容
(6)进入微博右击空白页,选择
,点击下面窗口左上角的,鼠标移到刚才发布的微博出现
,并且下方找到了相关的代码
topic_lists_39表示这是第39条微博
(7)代码定位测试发布微博的内容
在
之下插入下面代码,注意屏蔽掉多余的操作,此步骤仅为测试代码自动发送微博
System.out.println(selenium.getText("css=#topic_lists_33 .oriTxt p span")); selenium.click("link=退出"); selenium.waitForPageToLoad("30000");
这就是测试我发的第33条内容。当然也可以测试其他的博文。
(8)发布微博,并有代码自动化测试
参考如下代码修改
public void testPublishWeiboAT() throws Exception { selenium.open("/weibo/"); selenium.click("name=savelogin"); selenium.type("name=username", "a718515028"); selenium.type("name=password", "...");//....为密码部分就不贴出来了 selenium.click("css=input.btn_login"); selenium.waitForPageToLoad("30000"); selenium.type("id=i_already", "testlast"); selenium.click("id=publishSubmit"); selenium.click("link=退出"); selenium.waitForPageToLoad("30000"); selenium.click("name=savelogin"); selenium.type("name=username", "a718515028"); selenium.type("name=password", "..."); selenium.click("css=input.btn_login"); selenium.waitForPageToLoad("30000"); //System.out.println(selenium.getText("css=#topic_lists_33 .oriTxt p span")); String targetweibo = selenium.getText("css=#topic_lists_40 .oriTxt p span"); Assert.assertTrue(targetweibo.endsWith("testlast")); // selenium.click("link=退出"); // selenium.waitForPageToLoad("30000"); // check publish result } @After public void tearDown() throws Exception { selenium.stop(); }
注意:
css=#topic_lists_40,因为我的上一条微博是第39条,再发布就是第40条,所以改为40.
运行后可以在微博在找到代码中发的内容。程序中也可以定位到发布的内容。
(9)定位的另一种方式
进入微博,右击空白处,选择
在出现的框中的xpath输入如下//*[@id="topic_lists_39"]/div[1]/p/span
下面就有了对应topic_lists_的内容
小结:
以上就是整个配置,搭建,测试的过程,
欢迎大家批评指正。