51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2674|回复: 4
打印 上一主题 下一主题

Selenium写的测163和Baidu高级搜索写的几个API

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-3-23 13:49:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. package manage;

  2. import org.junit.After;
  3. import org.junit.Before;
  4. import org.junit.Test;

  5. import com.thoughtworks.selenium.DefaultSelenium;
  6. import com.thoughtworks.selenium.SeleneseTestCase;

  7. public class Test163 extends SeleneseTestCase {
  8. @Before
  9. public void setUp() throws Exception {
  10. selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.163.com/");
  11. selenium.start();
  12. selenium.setSpeed("3000");
  13. }

  14. @Test
  15. public void testTest163() throws Exception {

  16. String Notic;
  17. String Type;
  18. String[] Select;
  19. String[] Value;
  20. boolean Edit;
  21. String Table;
  22. String Attribute1;
  23. String Attribute2;
  24. String Attribute3;
  25. String[] Attribute4;
  26. String Title;
  27. String Shot;
  28. String[] WinId;
  29. String[] WinNa;
  30. String[] WinTit;
  31. Shot = "D:\\work_information\\Eclipse_workSpace\\ScreenShot\\";
  32. int i=1;

  33. selenium.windowMaximize();
  34. selenium.open("/");

  35. selenium.waitForPageToLoad("30000");
  36. selenium.captureScreenshot(Shot+(i++)+".png");
  37. selenium.click("link=论坛");

  38. verifyTrue(selenium.isTextPresent("新闻"));//验证是否出现“新闻”字样pass,新闻是text类型
  39. verifyTrue(selenium.isElementPresent("//img[contains(@src,'logo_png.png')]"));//验证是否出现元素图片logo_png.png,isElementPresent 只能用链接、图片、等HTML元素
  40. System.out.println("could verify true");
  41. Notic = selenium.getText("//div[@id='login_before']");
  42. System.out.println(Notic);
  43. System.out.println("---------现在开始文本框-------------");
  44. //verify 文本框

  45. selenium.type("id=query", "获取文本框的值");
  46. selenium.captureScreenshot(Shot+(i++)+".png");
  47. Type= selenium.getValue("//input[@id='query']");
  48. System.out.println(Type);

  49. System.out.println("getValue返回值是string类型");
  50. //是否可编辑
  51. Edit = selenium.isEditable("//input[@id='query']");
  52. if(Edit == true)
  53. {
  54. System.out.println("这个输入框是可编辑的");
  55. }
  56. else {System.out.println("这个输入框不可编辑");}
  57. System.out.println("isEditable返回值是boolean类型");
  58. // System.out.println("---------现在开始下拉框----------未完成---");
  59. // selenium.click("//div/div/form/div[3]/div");
  60. // selenium.mouseOver("//div/div/form/div[3]/div");
  61. // selenium.select("id=login_select_main", "//div/div/form/div[3]/div/ul/li[12]");
  62. // Value = selenium.getSelectedValues("//div/div/form/div[3]/div");
  63. // Select = selenium.getSelectOptions("//div/div/form/div[3]/div");
  64. // System.out.println(Value);
  65. // System.out.println(Select);

  66. //开始 关于click 的API Start to click the button or link
  67. System.out.println("------------开始click-----------");
  68. selenium.click("link=新闻");

  69. System.out.println("click link successful");
  70. Thread.sleep(1000);
  71. selenium.captureScreenshot(Shot+(i++)+".png");
  72. selenium.click("//div/form/div/div['@id=ydQuery']/button['@id=ydSubmit']");
  73. System.out.println("Could click '有道'successful");
  74. Thread.sleep(1000);

  75. //开始多选框的API
  76. System.out.println("------------单/多选框 (Radio/Check Box)未完成-----------");
  77. System.out.println("------------表格(Table)-----------");
  78. System.out.println("------------取出某单元格的值(下标从0开始)-----------");
  79. //Table = selenium.getTable("//table[@id='login_auto_list']/thead/tr");//单元格
  80. //Table = selenium.getTable("//div/div/form/div[@class='form-ipt']/table[@id='login_auto_list']/thead/tr.0.0");//表格undefine
  81. //form[@id="login_form"]/div/table
  82. //System.out.println("输出单元格的值"+Table);
  83. System.out.println("取某元素属性");
  84. Attribute1 = selenium.getAttribute("//img[contains(@src,'logo_png.png')]@width");
  85. System.out.println("image的属性长是"+Attribute1);
  86. Attribute2 = selenium.getAttribute("//div/div/form/div/div/input[@id='query']@type");
  87. System.out.println("输入框的属性类型是:"+Attribute2);
  88. Attribute3 = selenium.getAttribute("//div/div/form/div/div/input[@id='query']@class");
  89. System.out.println("输入框的属性class是:"+Attribute3);
  90. //selenium.getAttributeFromAllWindows()不会用
  91. // Attribute4 = selenium.getAttributeFromAllWindows("//div/div/form/div/div/input[@id='query']@class");
  92. // System.out.println("所有窗口的属性是:" +Attribute4);
  93. Title = selenium.getTitle();
  94. System.out.println(Title);
  95. verifyEquals("网易",selenium.getTitle());
  96. System.out.println("验证title是网易成功");
  97. //取某元素的text值
  98. //验证isElementPresent
  99. verifyTrue(selenium.isElementPresent("//img[contains(@src,'logo_png.png')]"));

  100. //验证isTextPresent
  101. System.out.println("验证isElementPresent");
  102. verifyTrue(selenium.isTextPresent("注册免费邮箱"));//必须是text类型
  103. System.out.println("验证isTextPresent");

  104. selenium.captureScreenshot(Shot+(i++)+".png");
  105. System.out.println("截图成功");
  106. //验证是否可见
  107. // selenium.mouseOver("//div/div[@id='tcldivtf1b']");
  108. // System.out.println("验证是否存在图片yt110300la_120210.swf");//图片经常换,所以注掉这部分代码
  109. // verifyTrue(selenium.isVisible("//div/div[@id='tcldivtf1b']/embed[@src='http://img1.126.net/channel5/011092/yt110300la_120210.swf']"));
  110. // //selenium.isVisible("//img[contains(@src,'http://img1.126.net/channel5/011092/yt110300la_120210.swf')]");//失败,不可用
  111. // System.out.println("验证展开后的图片是否存在isVisible");//图片经常换,所以注掉这部分代码
  112. // //System.out.println("keyDown触发后不一定触发keyUp,可以用这个命令做下拉的功能");
  113. // //selenium.keyDown("//div/div[4]/div/form/div/div[@id='ydQuery']", "\\13");
  114. // //selenium.keyUp("//div/div[4]/div/form/div/div[@id='ydQuery']", "\\13");
  115. // selenium.refresh();
  116. // selenium.goBack();
  117. // System.out.println("浏览器后退成功");
  118. //JS
  119. WinId = selenium.getAllWindowIds();
  120. System.out.println("获取所有窗口的id是:"+WinId);
  121. WinNa = selenium.getAllWindowNames();
  122. System.out.println("获取所有窗口的name是:"+WinNa);
  123. WinTit= selenium.getAllWindowTitles();
  124. System.out.println("获取所有窗口的title是:"+WinTit);
  125. System.out.println("怎么输出的编号都这么奇怪呢?");

  126. }


  127. @After
  128. public void tearDown() throws Exception {
  129. selenium.stop();
  130. checkForVerificationErrors();
  131. }
  132. }
复制代码






复制代码
  1. package manage;


  2. import com.thoughtworks.selenium.*;
  3. import org.junit.After;
  4. import org.junit.Before;
  5. import org.junit.Test;
  6. import java.util.regex.Pattern;

  7. public class Temp2 extends SeleneseTestCase {
  8. @Before
  9. public void setUp() throws Exception {
  10. selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.baidu.com/");
  11. selenium.start();
  12. selenium.setSpeed("3000");
  13. }

  14. @Test
  15. public void testTemp2() throws Exception {
  16. String Table;
  17. String Att;
  18. selenium.open("/gaoji/advanced.html?q=%E7%99%BE%E5%BA%A6%E6%9F%A5%E8%AF%A2");
  19. // selenium.click("id=ct_1");
  20. // selenium.type("id=keyword", "1");
  21. // selenium.check("id=ct_2");
  22. selenium.type("id=keyword", "2");
  23. selenium.select("name=rn", "label=每页显示100条");
  24. System.out.println("1");
  25. selenium.select("name=ft", "label=微软 Powerpoint (.ppt)");

  26. Att= selenium.getAttribute("//img[contains(@src,'http://www.baidu.com/img/logo-yy.gif')]@height");
  27. System.out.println("Att");
  28. selenium.click("//input[@value='百度一下']");
  29. }

  30. @After
  31. public void tearDown() throws Exception {
  32. selenium.stop();
  33. }
  34. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情

    2015-4-9 17:10
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2012-4-11 14:21:59 | 只看该作者
    代码繁琐 ,复用度不高!建议优化代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2012-4-17 15:12:32 | 只看该作者
    线性代码。。如2L所言 复用度太差。。
    结构化模块化脚本,然后再参数化数据。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-5-13 14:27:15 | 只看该作者
    呵呵,不错
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2012-5-21 09:54:07 | 只看该作者
    代码繁琐~~~~~~~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-28 18:45 , Processed in 0.074272 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表