qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          selenium技巧——通過js來控制滾動條

           業務流程:
            1.打開此網頁 http://nanjing.xiaomishu.com/shop/search/sp2048_745
            2.向下拖動滾動條,右下角自動會出現【投訴與建議】(此網頁已經修改不拖動也出現了,以前是沒有的,)
            3.點擊【投訴與建議】
            4.在打開的div 層中輸入姓名,郵件,內容 并點擊確定
            5.驗證頁面上的提示文字
           



          package com.example.tests;

          import org.junit.*;
          import org.openqa.selenium.*;
          import org.openqa.selenium.ie.InternetExplorerDriver;


          public class SeleniumWebDriver {
           public static WebDriver driver;
           
           @Test
           public void testUnit() {
            driver = new InternetExplorerDriver();
            driver.get(http://nanjing.xiaomishu.com/shop/search/sp2048_745);
            
            maxBrowser(driver);
            setScroll(driver,500);

            driver.findElement(By.linkText("投訴與建議")).click(); 
            driver.findElement(By.xpath("http://input[@id='repName']")).sendKeys("1");
            driver.findElement(By.xpath("http://input[@id='repMail']")).sendKeys("1");
            driver.findElement(By.xpath("http://textarea[@id='repContent']")).sendKeys("hello");
            driver.findElement(By.xpath("http://a[@id='repBtn']")).click();
            
            Assert.assertEquals("您輸入的郵箱格式不正確", driver.findElement(By.xpath("http://div[@id='floatBox_remind']/span")).getText());
            
           }
           
           
           //將IE最大化
            public static void  maxBrowser(WebDriver driver){
             try {
              String maxBroswer = "if (window.screen) {window.moveTo(0, 0);" +
                "window.resizeTo(window.screen.availWidth,window.screen.availHeight);}";
              
              JavascriptExecutor jse=(JavascriptExecutor) driver;
              jse.executeScript(maxBroswer);
             } catch (Exception e) {
              System.out.println("Fail to  Maximization browser");
             }
            }
           
           //將滾動條滾到適合的位置
           public static void setScroll(WebDriver driver,int height){
            try {
             String setscroll = "document.documentElement.scrollTop=" + height;
             
             JavascriptExecutor jse=(JavascriptExecutor) driver;
             jse.executeScript(setscroll);
            } catch (Exception e) {
             System.out.println("Fail to set the scroll.");
            }   
           } 
          }

            對于這種頂級div層,一開始用id來定位,在firefox中可以正常跑

            在IE中會報stack overflow的錯誤,一直以來是以為沒有加等待時間而沒找到

            后來試了很多方法,最后發現用xpath就解決了,真是耽誤了很久的時間

            給大家借鑒,如果一個定位方法不能用時,多換換其他的

            這個例子中我們學習了如何用JS控制滾動條,如何最大化IE頁面。

          posted on 2013-09-13 11:32 順其自然EVO 閱讀(1067) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 保康县| 平利县| 延安市| 寿宁县| 福安市| 文山县| 南丰县| 神木县| 霍邱县| 临泉县| 九江县| 惠来县| 醴陵市| 敦煌市| 同仁县| 察雅县| 孝昌县| 孟津县| 重庆市| 平乐县| 桃江县| 米易县| 沛县| 安宁市| 南川市| 鄂伦春自治旗| 东乡族自治县| 铜梁县| 壶关县| 涪陵区| 涞源县| 景德镇市| 泽库县| 金坛市| 长乐市| 汨罗市| 舟曲县| 兴城市| 大连市| 大同县| 新绛县|