微博自动化测试

本次博客主要是搭建微博,及发送的微博的自动化测试。欢迎大家批评指正。

我个人用的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_的内容

小结:

以上就是整个配置,搭建,测试的过程,

欢迎大家批评指正。

原文地址:https://www.cnblogs.com/yanmingup/p/2813943.html