亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium自動化測試用例設計注意事項(二)
作者:網絡轉載 發布時間:[ 2013/1/28 10:52:45 ] 推薦標簽:

  考慮如下屬性文件prop.properties,為上述代碼例子中的UI元素指定了 “別名”:

admin.username = loginForm:tbUsername
admin.loginbutton = loginForm:btnLogin
admin.events.createnewevent = adminHomeForm:_activitynew
admin.events.cancel = addEditEventForm:_IDcancel
admin.events.viewoldevents = adminHomeForm:_activityold

  其中定位信息還是指向頁面的HTML對象,但我們在測試腳本和UI元素之間引入一層抽象層。測試類從屬性文件中讀取定位信息,從而實現UI映射。

  頁面對象設計模式

  頁面對象設計模式,可以提高自動化測試腳本的維護性、減少代碼重復,越發流行。頁面對象是一個面向對象的類,作為待測應用對外提供的接口。測試代碼在需要和UI頁面交互時,使用此頁面對象類的方法。這樣做的好處是,如果UI頁面發生變化,測試代碼本身并不需要改變,只需要改變相應的頁面對象的代碼。為適應新UI頁面的所有更改,都位于一個地方。

  頁面對象設計模式具有以下優點:

  1、測試代碼和頁面相關的代碼,比如頁面元素定位信息(若使用UI映射,也包括定位信息的應用),頁面布局等,完全分離;

  2、可以維護單一的儲存庫來存儲頁面提供的服務或操作,而不是把他們分散在測試代碼中。

  在這兩種情況下,這使得任何由于UI界面變化導致的修改,都可以在一個地方進行修改。關于該技術的更多有用信息,可以在眾多的博客上找到。我們也鼓勵讀者去閱讀更多。 許多人寫這樣的設計模式和超出本用戶指南的范圍,可以提供有用的提示。不過,為了讓你開始,我們將舉例說明頁面對象的一個簡單的例子。

  首先,考慮一個例子,典型的自動化測試,不使用頁面對象。

/***
 * Tests login feature
 */
public class Login {
 
        public void testLogin() {
                selenium.type("inputBox", "testUser");
                selenium.type("password", "my supersecret password");
                selenium.click("sign-in");
                selenium.waitForPageToLoad("PageWaitPeriod");
                Assert.assertTrue(selenium.isElementPresent("compose button"),
                                "Login was unsuccessful");
        }
}

  這種方法有兩個問題。

  1、沒有分離測試代碼和待測應用的定位器(在這個例子中是ID);兩者都交織在一個單一方法中。如果待測應用UI改變了它的標識,布局,或登錄輸入和處理的方式變化,測試代碼本身必須改變。

  2、ID定位信息分散在多個測試代碼中,所有的測試不得不使用此登錄頁面。

  使用頁面對象技術,上述測試代碼可以按如下方式重寫,為登錄頁面的頁面對象例子:

/**
 * Page Object encapsulates the Sign-in page.
 */
public class SignInPage {
 
        private Selenium selenium;
 
        public SignInPage(Selenium selenium) {
                this.selenium = selenium;
                if(!selenium.getTitle().equals("Sign in page")) {
                        throw new IllegalStateException("This is not sign in page, current page is: "
                                        +selenium.getLocation());
                }
        }
 
        /**
         * Login as valid user
         *
         * @param userName
         * @param password
         * @return HomePage object
         */
        public HomePage loginValidUser(String userName, String password) {
                selenium.type("usernamefield", userName);
                selenium.type("passwordfield", password);
                selenium.click("sign-in");
                selenium.waitForPageToLoad("waitPeriod");
 
                return new HomePage(selenium);
        }
}

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: a级成人毛片免费视频高清 a级片免费网站 | 日韩福利片午夜在线观看 | 免费的黄色一级片 | 久久怡红院国产精品 | 欧美1级| 一级女人18片毛片免费视频 | 日韩欧美一及在线播放 | 欧美一级看片 | 国产欧美精品一区二区三区 | 日韩一区二区三区四区五区 | 最近免费中文字幕高清大全 | 18岁禁免费网站 | 欧美一欧美一区二三区性 | 日韩最新视频一区二区三 | 亚洲区精品| 日本高清www午色夜黄 | 久久网页| 嘿嘿午夜| 120秒午夜体验区5次 | 欧美一区二区三区男人的天堂 | 日韩精品欧美在线 | 国产99r视频精品免费观看 | 九九热播视频 | 国产一区二区三区欧美 | 农村偷人一级超爽毛片 | 国产精品视频一区二区三区不卡 | 日韩欧美亚洲中字幕在线播放 | 在线观看不卡视频 | 日韩国产欧美一区二区三区在线 | 老司机午夜在线视频免费观 | 午夜国产福利 | 青草视频网 | 国产黄a三级三级三级 | 丝袜美腿中文字幕 | 亚洲福利视频一区 | a级特黄一级毛片七仙女思春 | 人妖三人交69欧美 | 热re66久久精品国产99re | 欧美一二三区 | 天天爱天天做色综合 | 新久草视频 |