亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 久草视频新 | 色偷偷人人澡人人爽人人模 | 免费观看黄色毛片 | 国产精品久久国产精麻豆99网站 | 怡红院日本一道日本久久 | 亚洲精品线在线观看 | 中文字幕2019年中文字幕 | 视频h在线观看 | 国产成人精品久久一区二区三区 | 五月婷婷丁香在线视频 | 曰曰啪天天拍视频在线 | 在线 中文字幕 日韩 欧美 | 一区二区在线观看视频 | 午夜琪琪| 伊人五月天婷婷 | a级国产视频 | 婷婷六月久久综合丁香乐透 | 欧美一区二区三区不卡免费观看 | 九九在线精品视频xxx | 亚洲一区二区三区首页 | 草草草在线观看 | 啪啪网站免费 | 日韩免费专区 | 黄色录像a | 一本到在线视频 | 日韩欧美在线观看一区 | 花蝴蝶亚洲一区二区三区 | 日本欧美精品 | 一级视频免费观看 | 又黄又爽又色的视频 | 交在线观看网站视频 | 亚洲午夜高清 | 99热成人精品免费久久 | 91精品小视频 | 日韩在线视频一区二区三区 | 欧美性猛交一区二区三区精品 | 1769亚洲资源站365在线 | 欧美在线视频免费 | 69欧美xxxxx色护士视频 | 日本黄漫画网站入口免费 | 无人区理论片手机看片 |