返回介绍

Selenium实例:AJAX自动化测试应用

发布于 2019-12-21 13:28:58 字数 3297 浏览 913 评论 0 收藏 0

  Selenium是目前非常流行的免费自动化测试框架,适用于各种WEB应用程序的自动化测试,并且支持IE、Firefox、Safari、 Chrome、Opera等多种浏览器类型。今天Sincky以实例来演示对于AJAX页面的自动化测试处理方法。

  Selenium官网:http://seleniumhq.org/

  Selenium中文论坛:http://seleniumcn.cn/

  这里Sincky以http://tsingtao.qq.com/user/list?order=1&page=1页面的投票功能为例,演示如何通过Java TestNG方式的Selenium脚本处理AJAX。

  脚本如下:

package com.testscripts;

import com.thoughtworks.selenium.*;
import org.openqa.selenium.server.SeleniumServer;
import org.testng.annotations.*;
import static org.testng.Assert.*;
import java.util.Random;

/**
* @author 叶赫华 2010年5月
*/
public class VoteQQ extends SeleneseTestCase {

@Test
public void testVote() throws Exception {
SeleniumServer seleniumserver = new SeleniumServer();
seleniumserver.start();
System.out.println(seleniumserver.getPort());
Selenium selenium = new DefaultSelenium("localhost",4444,"*firefox", "http://tsingtao.qq.com");

selenium.start();
selenium.setTimeout("60000");
selenium.open("/user/list?order=1&page=1");

selenium.click("link=登录");
Thread.sleep(2000);
selenium.selectFrame("login_frame");
selenium.type("u", "1234567890");
selenium.type("p", "********");
//selenium.type("verifycode", "udfz");
selenium.click("login_button");
selenium.click("close");
Thread.sleep(2000);
selenium.selectFrame("relative=up");

int i, intIndividualCount, intRandNumber, intVoteCount = 10;
intIndividualCount = selenium.getXpathCount("//html/body/div[@id='warp']/div[@class='umain']/div/div[2]/div[@class='for_div']").intValue();
System.out.println("intIndividualCount is:" + intIndividualCount);
Random rand = new Random();

for (i = 0; i < intVoteCount; i ++){
intRandNumber = rand.nextInt(intIndividualCount - 1);
System.out.println("intRandNumber is:" + intRandNumber);
String strIndividualName = selenium.getText("//html/body/div[@id='warp']/div[@class='umain']/div/div[2]/div[@class='for_div'][" + String.valueOf(intRandNumber + 1) + "]/dl/dd/p[1]");
selenium.click("//html/body/div[@id='warp']/div[@class='umain']/div/div[2]/div[@class='for_div'][" + String.valueOf(intRandNumber + 1) + "]/dl/dd/p[3]/a[1]/img");
selenium.selectFrame("login_frame");
Thread.sleep(2000);
selenium.click("close");
System.out.println("strIndividualName is:" + strIndividualName);
Thread.sleep(2000);
selenium.selectFrame("relative=up");
}
selenium.stop();
seleniumserver.stop();
}

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文